> For the complete documentation index, see [llms.txt](https://exelord.gitbook.io/ember-await/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://exelord.gitbook.io/ember-await/api/yielded-properties.md).

# Yielded properties

These are yielded properties by `<Await />` component:

* [`data`](/ember-await/api/yielded-properties.md#data) Last resolved promise value, maintained when new error arrives.
* [`error`](/ember-await/api/yielded-properties.md#error) Rejected promise reason, cleared when new data arrives.
* [`value`](/ember-await/api/yielded-properties.md#value) The value of `data` or `error`, whichever was last updated.
* [`initialValue`](/ember-await/api/yielded-properties.md#initialvalue) The data or error that was provided through the `initialValue` argument.
* [`startedAt`](/ember-await/api/yielded-properties.md#startedat) When the current/last promise was started.
* [`finishedAt`](/ember-await/api/yielded-properties.md#finishedat) When the last promise was fulfilled or rejected.
* [`status`](/ember-await/api/yielded-properties.md#status) One of: `initial`, `pending`, `fulfilled`, `rejected`.
* [`isInitial`](/ember-await/api/yielded-properties.md#isinitial) true when no promise has ever started, or one started but was cancelled.
* [`isPending`](/ember-await/api/yielded-properties.md#ispending) true when a promise is currently awaiting settlement. Alias: `isLoading`
* [`isFulfilled`](/ember-await/api/yielded-properties.md#isfulfilled) true when the last promise was fulfilled. Alias: `isResolved`
* [`isRejected`](/ember-await/api/yielded-properties.md#isrejected) true when the last promise was rejected.
* [`isSettled`](/ember-await/api/yielded-properties.md#issettled) true when the last promise was fulfilled or rejected (not initial or pending).
* [`counter`](/ember-await/api/yielded-properties.md#counter) The number of times a promise was started.
* [`query`](/ember-await/api/yielded-properties.md#query) An reference to the internal Query wrapper, which can be chained on.
* [`run`](/ember-await/api/yielded-properties.md#run) Invokes the `defer`.
* [`reload`](/ember-await/api/yielded-properties.md#reload) Re-runs the promise when invoked.
* [`cancel`](/ember-await/api/yielded-properties.md#cancel) Cancel any pending promise.

## `data`

> `any`

Last resolved promise value, maintained when new error arrives.

## `error`

> `Error`

Rejected promise reason, cleared when new data arrives.

## `value`

> `any | Error`

The data or error that was last provided (either through `initialValue` or by settling a promise).

## `initialValue`

> `any | Error`

The data or error that was originally provided through the `initialValue` argument.

## `startedAt`

> `Date`

Tracks when the current/last promise was started.

## `finishedAt`

> `Date`

Tracks when the last promise was resolved or rejected.

## `status`

> `string`

One of: `initial`, `pending`, `fulfilled`, `rejected`.

## `isInitial`

> `boolean`

`true` while no promise has started yet, or one was started but cancelled.

## `isPending`

> `boolean`

`true` while a promise is pending (loading), `false` otherwise.

Alias: `isLoading`

## `isFulfilled`

> `boolean`

`true` when the last promise was fulfilled (resolved to a value).

Alias: `isResolved`

## `isRejected`

> `boolean`

`true` when the last promise was rejected.

## `isSettled`

> `boolean`

`true` when the last promise was either fulfilled or rejected (i.e. not initial or pending)

## `counter`

> `number`

The number of times a promise was started.

## `query`

> `Query`

A reference to the internal wrapper `Query` created when initializing the component. It contains all the internal API, exposed as public by this component. More about Query, soon.

Useful as a chainable alternative to the `onResolve` / `onReject` callbacks.

## `run`

> `function(...args: any[]): Query`

Runs the `defer`, passing any arguments provided as an array.

## `reload`

> `function(): Query`

Re-runs the promise when invoked.

## `cancel`

> `function(): void`

Cancels the currently pending promise by ignoring its result.
