Skip to content

Documentation / @ember-data/model / index / AsyncHasMany

Defined in: packages/model/src/-private/promise-many-array.ts:30

This class is returned as the result of accessing an async hasMany relationship on an instance of a Model extending from @ember-data/model.

A PromiseManyArray is an iterable proxy that allows templates to consume related ManyArrays and update once their contents are no longer pending.

In your JS code you should resolve the promise first.

js
const comments = await post.comments;

PromiseManyArray

Type Parameters

T

T = unknown

Constructors

Constructor

ts
new AsyncHasMany<T>(promise, content?): PromiseManyArray<T>;

Defined in: packages/model/src/-private/promise-many-array.ts:35

Parameters

promise

Promise<ManyArray<T>>

content?

ManyArray<T>

Returns

PromiseManyArray<T>

Properties

[LegacyPromiseProxy]

ts
[LegacyPromiseProxy]: true;

Defined in: packages/model/src/-private/promise-many-array.ts:208


content

ts
content: null | ManyArray<T>;

Defined in: packages/model/src/-private/promise-many-array.ts:33


isDestroyed

ts
isDestroyed: boolean;

Defined in: packages/model/src/-private/promise-many-array.ts:32


isFulfilled

ts
isFulfilled: boolean;

Defined in: packages/model/src/-private/promise-many-array.ts:121

Whether the loading promise succeeded


isPending

ts
isPending: boolean;

Defined in: packages/model/src/-private/promise-many-array.ts:105

Whether the loading promise is still pending


isRejected

ts
isRejected: boolean;

Defined in: packages/model/src/-private/promise-many-array.ts:113

Whether the loading promise rejected


isSettled

ts
isSettled: boolean;

Defined in: packages/model/src/-private/promise-many-array.ts:129

Whether the loading promise completed (resolved or rejected)


promise

ts
promise: null | Promise<ManyArray<T>>;

Defined in: packages/model/src/-private/promise-many-array.ts:31

Accessors

[]

Get Signature

ts
get : undefined | 0 | ManyArray<T>;

Defined in: packages/model/src/-private/promise-many-array.ts:60

Returns

undefined | 0 | ManyArray<T>


length

Get Signature

ts
get length(): number;

Defined in: packages/model/src/-private/promise-many-array.ts:46

Retrieve the length of the content

Returns

number


Get Signature

ts
get links(): 
  | undefined
  | null
  | Links;

Defined in: packages/model/src/-private/promise-many-array.ts:180

Retrieve the links for this relationship

Returns

| undefined | null | Links


meta

Get Signature

ts
get meta(): undefined | null | Record<string, unknown>;

Defined in: packages/model/src/-private/promise-many-array.ts:190

Retrieve the meta for this relationship

Returns

undefined | null | Record<string, unknown>

Methods

_update()

ts
_update(promise, content?): void;

Defined in: packages/model/src/-private/promise-many-array.ts:196

Parameters

promise

Promise<ManyArray<T>>

content?

ManyArray<T>

Returns

void


catch()

ts
catch(cb): Promise<unknown>;

Defined in: packages/model/src/-private/promise-many-array.ts:149

catch errors thrown by this promise

Parameters

cb

undefined | null | (reason) => unknown

Returns

Promise<unknown>


destroy()

ts
destroy(): void;

Defined in: packages/model/src/-private/promise-many-array.ts:166

Returns

void


finally()

ts
finally(cb): Promise<ManyArray<T>>;

Defined in: packages/model/src/-private/promise-many-array.ts:160

run cleanup after this promise completes

Parameters

cb

undefined | null | () => void

Returns

Promise<ManyArray<T>>


reload()

ts
reload(options): PromiseManyArray<T>;

Defined in: packages/model/src/-private/promise-many-array.ts:90

Reload the relationship

Parameters

options

Omit<BaseFinderOptions<unknown>, "">

Returns

PromiseManyArray<T>


then()

ts
then(s, f?): Promise<unknown>;

Defined in: packages/model/src/-private/promise-many-array.ts:139

chain this promise

Parameters

s

undefined | null | (value) => unknown

f?

null | (reason) => unknown

Returns

Promise<unknown>


create()

ts
static create<T>(__namedParameters): PromiseManyArray<T>;

Defined in: packages/model/src/-private/promise-many-array.ts:204

Type Parameters

T

T

Parameters

__namedParameters

HasManyProxyCreateArgs<T>

Returns

PromiseManyArray<T>

Released under the MIT License.