?um/p1-90`interfaceは、関連付けられた値が特定の仕様に一致する
iterable interfaceは、
| Property | Value | Requirements |
|---|---|---|
%Symbol.iterator%
|
|
返されるobjectは |
iterator interfaceを実装するobjectは、
| Property | Value | Requirements |
|---|---|---|
|
|
|
返されるobjectはnext methodへの以前のcallがnext methodへの後続のすべてのcallsも、 |
next functionにargumentsを渡してもよいが、それらの解釈およびvalidityはtarget iteratorに依存する。for-of statementおよびiteratorsの他の一般的な利用者はargumentsを渡さないため、そのような方法で使用されることを期待するiterator objectsは、argumentsなしで呼び出されることに対処できるよう準備されていなければならない。
| Property | Value | Requirements |
|---|---|---|
|
|
|
返されるobjectはnext method callsを行う意図がないことをreturn methodのargumentとして渡された値を持つ |
|
|
|
返されるobjectはthrowすることである。methodがthrowしない場合、返される |
典型的には、これらのmethodsの呼び出し側は、それらをinvokeする前にそれらの存在をcheckすべきである。for-of、yield*、およびarray destructuringを含む特定のECMAScript language featuresは、existence checkを実行した後にこれらのmethodsをcallする。
async iterable interfaceは、
| Property | Value | Requirements |
|---|---|---|
%Symbol.asyncIterator% |
返されるobjectは |
async iterator interfaceを実装するobjectは、
| Property | Value | Requirements |
|---|---|---|
|
返されるpromiseは、fulfilledされたときに、 さらに、fulfillment valueとして機能する |
next functionにargumentsを渡してもよいが、それらの解釈およびvalidityはtarget async iteratorに依存する。for-await-of statementおよびasync iteratorsの他の一般的な利用者はargumentsを渡さないため、そのような方法で使用されることを期待するasync iterator objectsは、argumentsなしで呼び出されることに対処できるよう準備されていなければならない。
| Property | Value | Requirements |
|---|---|---|
|
返されるpromiseは、fulfilledされたときに、 さらに、fulfillment valueとして機能する |
||
|
返されるpromiseは、fulfilledされたときに、 返されるpromiseがfulfilledされる場合、 |
典型的には、これらのmethodsの呼び出し側は、それらをinvokeする前にそれらの存在をcheckすべきである。for-await-ofおよびyield*を含む特定のECMAScript language featuresは、existence checkを実行した後にこれらのmethodsをcallする。
IteratorResult interfaceは、
| Property | Value | Requirements |
|---|---|---|
|
|
Boolean |
これはnext method callのresult statusである。 |
|
|
ECMAScript language value |
doneが |
Iterator Helper objectは、特定のsource
%IteratorHelperPrototype% objectは:
このpropertyはattributes { [[Writable]]:
Iterator
このfunctionは、呼び出されたときに以下のstepsを実行する:
%WrapForValidIteratorPrototype% objectは:
Iterator.prototypeのinitial valueは
このpropertyはattributes { [[Writable]]:
このfunctionは、呼び出されたときに以下のstepsを実行する:
このfunctionは、呼び出されたときに以下のstepsを実行する:
Iterator prototype objectは:
このspecificationでdefinedされる、
以下のexpressionは、ECMAScript codeが%Iterator.prototype% objectにaccessできる1つの方法である:
Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))
Iterator.prototype.constructorは、attributes { [[Enumerable]]:
[[Get]] attributeのvalueは、argumentsを必要としないbuilt-in functionである。呼び出されたときに以下のstepsを実行する:
[[Set]] attributeのvalueは、argument vを取るbuilt-in functionである。呼び出されたときに以下のstepsを実行する:
ほとんどのbuilt-in prototypes上の
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このメソッドは、呼び出されたときに次のステップを実行する:
このメソッドの
このfunctionは、呼び出されたときに以下のstepsを実行する:
このfunctionの
Iterator.prototype[%Symbol.toStringTag%]は、attributes { [[Enumerable]]:
[[Get]] attributeのvalueは、argumentsを必要としないbuilt-in functionである。呼び出されたときに以下のstepsを実行する:
[[Set]] attributeのvalueは、argument vを取るbuilt-in functionである。呼び出されたときに以下のstepsを実行する:
ほとんどのbuilt-in prototypes上の
The abstract operation IteratorZip takes arguments iters (a
%AsyncIteratorPrototype% objectは:
このspecificationでdefinedされる、
このメソッドは、呼び出されたときに次のステップを実行する:
このメソッドの
このfunctionは、呼び出されたときに以下のstepsを実行する:
このfunctionの
Async-from-Sync Iterator objectは、特定のsynchronous
The abstract operation CreateAsyncFromSyncIterator takes argument syncIteratorRecord (an
%AsyncFromSyncIteratorPrototype% objectは:
throw methodがない場合、capabilityをrejectする前にcleanupの機会を与えるためにそれをcloseする。throw methodを持たない。Async-from-Sync
| Internal Slot | Type | Description |
|---|---|---|
| [[SyncIteratorRecord]] |
|
adaptされているoriginal synchronous |
The abstract operation AsyncFromSyncIteratorContinuation takes arguments result (an Object), promiseCapability (a
Disposable インターフェイスは、
| プロパティ | 値 | 要件 |
|---|---|---|
%Symbol.dispose%
|
関数オブジェクト |
このメソッドを呼び出すことにより、呼び出し元がこのオブジェクトを引き続き使用する意図がないことを 同じオブジェクトに対してこのメソッドを複数回呼び出す場合、すでに破棄済みのリソースに対してクリーンアップロジックを繰り返すことを避けるべきであり、最初の呼び出しで例外が投げられた場合であっても、例外を投げるべきではない。ただし、この要件は強制されない。
|
AsyncDisposable インターフェイスは、
| プロパティ | 値 | 要件 |
|---|---|---|
%Symbol.asyncDispose%
|
promise を返す関数オブジェクト |
このメソッドを呼び出すことにより、呼び出し元がこのオブジェクトを引き続き使用する意図がないことを 同じオブジェクトに対してこのメソッドを複数回呼び出す場合、すでに破棄済みのリソースに対してクリーンアップロジックを繰り返すことを避けるべきであり、最初の呼び出しで例外が投げられた場合または rejected promise が返された場合であっても、例外を投げたり rejected promise を返したりするべきではない。ただし、この要件は強制されない。
|
DisposableStack は、まとめて破棄されるべき1つ以上のリソースを格納するために使用できるオブジェクトである。
任意の DisposableStack オブジェクトは、互いに排他的な2つの状態、すなわち disposed または pending のいずれかにある。disposable stack d は、d.dispose() も d.move() も d に対して呼び出されていない場合に限り pending である。
DisposableStack コンストラクタは次のとおりである:
extends 節の値として使用できる。指定された DisposableStack の振る舞いを継承しようとするサブクラスコンストラクタは、DisposableStack.prototype の組込みメソッドをサポートするために必要な内部状態を持つサブクラスインスタンスを作成して初期化するために、DisposableStack コンストラクタへの super 呼び出しを含めなければならない。この関数は、呼び出されたときに次のステップを実行する:
DisposableStack コンストラクタは次のとおりである:
DisposableStack.prototype の初期値は
このプロパティは属性 { [[Writable]]:
DisposableStack プロトタイプオブジェクトは次のとおりである:
このメソッドは、呼び出されたときに次のステップを実行する:
DisposableStack.prototype.constructor の初期値は
このメソッドは、呼び出されたときに次のステップを実行する:
このメソッドは、呼び出されたときに次のステップを実行する:
DisposableStack.prototype.disposed は、set アクセサ関数が
このメソッドは、呼び出されたときに次のステップを実行する:
このメソッドは、呼び出されたときに次のステップを実行する:
%Symbol.dispose% プロパティの初期値は、
%Symbol.toStringTag% プロパティの初期値は String 値
このプロパティは属性 { [[Writable]]:
DisposableStack インスタンスは、
| 内部スロット | 型 | 説明 |
|---|---|---|
| [[DisposableState]] |
|
disposable stack が自身の %Symbol.dispose% メソッドへの着信呼び出しにどのように反応するかを制御する。
|
| [[DisposableResourceStack]] |
|
disposable stack が破棄されるときに破棄されるリソース。リソースは初期化された順に追加され、逆順に破棄される。 |
AsyncDisposableStack は、非同期にまとめて破棄されるべき1つ以上のリソースを格納するために使用できるオブジェクトである。
任意の AsyncDisposableStack オブジェクトは、互いに排他的な2つの状態、すなわち disposed または pending のいずれかにある。async-disposable stack d は、d.disposeAsync() も d.move() も d に対して呼び出されていない場合に限り pending である。
AsyncDisposableStack コンストラクタは次のとおりである:
extends 節の値として使用できる。指定された AsyncDisposableStack の振る舞いを継承しようとするサブクラスコンストラクタは、AsyncDisposableStack.prototype の組込みメソッドをサポートするために必要な内部状態を持つサブクラスインスタンスを作成して初期化するために、AsyncDisposableStack コンストラクタへの super 呼び出しを含めなければならない。この関数は、呼び出されたときに次のステップを実行する:
AsyncDisposableStack コンストラクタは次のとおりである:
AsyncDisposableStack.prototype の初期値は
このプロパティは属性 { [[Writable]]:
AsyncDisposableStack プロトタイプオブジェクトは次のとおりである:
このメソッドは、呼び出されたときに次のステップを実行する:
AsyncDisposableStack.prototype.constructor の初期値は
このメソッドは、呼び出されたときに次のステップを実行する:
この async メソッドは、呼び出されたときに次のステップを実行する:
AsyncDisposableStack.prototype.disposed は、set アクセサ関数が
このメソッドは、呼び出されたときに次のステップを実行する:
このメソッドは、呼び出されたときに次のステップを実行する:
%Symbol.asyncDispose% プロパティの初期値は、
%Symbol.toStringTag% プロパティの初期値は String 値
このプロパティは属性 { [[Writable]]:
AsyncDisposableStack インスタンスは、
| 内部スロット | 型 | 説明 |
|---|---|---|
| [[AsyncDisposableState]] |
|
disposable stack が自身の %Symbol.asyncDispose% メソッドへの着信呼び出しにどのように反応するかを制御する。
|
| [[DisposableResourceStack]] |
|
disposable stack が破棄されるときに破棄されるリソース。リソースは初期化された順に追加され、逆順に破棄される。 |
Promiseは、遅延された(かつ場合によっては非同期の)計算の最終的な結果のplaceholderとして使用されるobjectである。
任意のPromiseは、互いに排他的な3つのstate、すなわちfulfilled、rejected、およびpendingのいずれかにある:
pは、p.then(f, r)がfunction fをcallするpは、p.then(f, r)がfunction rをcallするpromiseは、pendingでない場合、すなわちfulfilledまたはrejectedのいずれかである場合、settledであるという。
promiseは、settledであるか、または別のpromiseのstateと一致するように“locked in”されているなら、resolvedである。resolved promiseをresolveまたはrejectしようとしても効果はない。promiseは、resolvedでないならunresolvedである。unresolved promiseは常にpending stateにある。resolved promiseはpending、fulfilled、またはrejectedでありうる。
PromiseCapability Recordは、Promiseまたはpromise-like objectを、そのpromiseをresolveまたはrejectできるfunctionsとともにencapsulateするために使用される
PromiseCapability Recordsは、
| Field Name | Value | Meaning |
|---|---|---|
| [[Promise]] | Object | promiseとして使用可能なobject。 |
| [[Resolve]] |
|
与えられたpromiseをresolveするために使用されるfunction。 |
| [[Reject]] |
|
与えられたpromiseをrejectするために使用されるfunction。 |
IfAbruptRejectPromiseは、
は、次と同じ意味である:
PromiseReaction Recordは、promiseが与えられたvalueでresolvedまたはrejectedになったときに、どのようにreactすべきかについての情報を格納するために使用される
PromiseReaction Recordsは、
| Field Name | Value | Meaning |
|---|---|---|
| [[Capability]] |
|
このrecordがreaction handlerを提供するpromiseのcapabilities。 |
| [[Type]] |
|
[[Type]]は、[[Handler]]が |
| [[Handler]] |
|
incoming valueに適用されるべきfunctionであり、そのreturn valueがderived promiseに何が起こるかをgovernする。[[Handler]]が |
The abstract operation CreateResolvingFunctions takes argument toResolve (a Promise) and returns a
The abstract operation FulfillPromise takes arguments promise (a Promise) and value (an ECMAScript language value) and returns
The abstract operation NewPromiseCapability takes argument ctor (an ECMAScript language value) and returns either a resolveおよびreject functionsをextractしようとする。promiseとresolveおよびreject functionsは、new
このabstract operationはPromise subclassingをsupportする。これは、Promise
The abstract operation IsPromise takes argument arg (an ECMAScript language value) and returns a Boolean. これはobject上のpromise brandをcheckする。 It performs the following steps when called:
The abstract operation RejectPromise takes arguments promise (a Promise) and reason (an ECMAScript language value) and returns
The abstract operation TriggerPromiseReactions takes arguments reactions (a
The
HostPromiseRejectionTrackerのdefault implementationは
HostPromiseRejectionTrackerは2つのscenariosでcallされる:
HostPromiseRejectionTrackerの典型的なimplementationは、unhandled rejectionsをdevelopersに通知しようとしつつ、そのような以前のnotificationsが後から新しいhandlersのattachによってinvalidatedされる場合にも通知するよう注意するかもしれない。
operationが
The abstract operation NewPromiseReactionJob takes arguments reaction (a
The abstract operation NewPromiseResolveThenableJob takes arguments promiseToResolve (a Promise), thenable (an Object), and then (a
Promise
extends 句内の値として使用できる。指定された Promise の動作を継承しようとするサブクラスコンストラクターは、Promise および Promise.prototype の組み込みメソッドをサポートするために必要な内部状態でサブクラスインスタンスを作成し初期化するため、Promise コンストラクターへの super 呼び出しを含めなければならない。このfunctionは、呼び出されたときに以下のstepsを実行する:
executor argumentは
executor functionに渡されるresolve functionは、single argumentを受け入れる。executor codeは最終的にresolve functionをcallして、関連付けられたPromiseをresolveしたいことを示してもよい。resolve functionに渡されるargumentは、deferred actionの最終的なvalueを表し、実際のfulfillment valueまたはfulfilledされた場合にvalueを提供する別のpromiseのいずれかでありうる。
executor functionに渡されるreject functionは、single argumentを受け入れる。executor codeは最終的にreject functionをcallして、関連付けられたPromiseがrejectedされ、決してfulfilledされないことを示してもよい。reject functionに渡されるargumentは、promiseのrejection valueとして使用される。典型的にはError objectである。
Promise
Promise
このfunctionは、渡されたpromisesのfulfillment valuesのarrayでfulfilledされる、または最初にrejectする渡されたpromiseのreasonでrejectされるnew promiseを返す。このalgorithmを実行する際、渡された
このfunctionは、その
The abstract operation GetPromiseResolve takes argument promiseCtor (a
The abstract operation PerformPromiseAll takes arguments iteratorRecord (an
このfunctionは、original promisesがすべてsettled、すなわちfulfilledまたはrejectedのいずれかになるまで待ってから、promise state snapshotsのarrayでfulfilledされるpromiseを返す。このalgorithmを実行する際、渡された
このfunctionは、その
The abstract operation PerformPromiseAllSettled takes arguments iteratorRecord (an
このfunctionは、与えられたpromisesのうち最初にfulfilledされたpromiseによってfulfilledされるpromise、または与えられたpromisesがすべてrejectedされた場合にrejection reasonsを保持するAggregateErrorでrejectedされるpromiseを返す。このalgorithmを実行する際、渡された
このfunctionは、そのPromise
The abstract operation PerformPromiseAny takes arguments iteratorRecord (an
Promise.prototypeのinitial valueは
このpropertyはattributes { [[Writable]]:
このfunctionは、最初にsettleする渡されたpromiseと同じ方法でsettledされるnew promiseを返す。このalgorithmを実行する際、渡されたiterableのすべてのelementsをpromisesにresolveする。
iterable argumentがvaluesをyieldしない場合、またはiterableによってyieldされたpromisesのどれもsettleしない場合、このmethodによって返されるpending promiseは決してsettledされない。
このfunctionは、そのresolve methodをprovideすることもexpectedする。
The abstract operation PerformPromiseRace takes arguments iteratorRecord (an
このfunctionは、渡されたargumentでrejectedされたnew promiseを返す。
このfunctionは、その
このfunctionは、渡されたargumentでresolvedされたnew promise、またはargumentがこの
このfunctionは、その
The abstract operation PromiseResolve takes arguments ctor (an Object) and resolution (an ECMAScript language value) and returns either a
このfunctionは、呼び出されたときに以下のstepsを実行する:
このfunctionは、その
このfunctionは、new promiseと、それに関連付けられたresolveおよびreject functionsからなる3つのpropertiesを持つobjectを返す。
Promise[%Symbol.species%]は、set accessor functionが
このfunctionの
Promise prototype methodsは通常、derived objectをcreateするために、その
Promise prototype objectは:
このmethodは、呼び出されたときに以下のstepsを実行する:
Promise.prototype.constructorのinitial valueは
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
The abstract operation PerformPromiseThen takes arguments promise (a Promise), onFulfilled (an ECMAScript language value), and onRejected (an ECMAScript language value) and optional argument resultCapability (a
このpropertyはattributes { [[Writable]]:
Promise instancesは、
| Internal Slot | Type | Description |
|---|---|---|
| [[PromiseState]] |
|
promiseがそのthen methodへのincoming callsにどのようにreactするかをgovernする。
|
| [[PromiseResult]] |
ECMAScript language valueまたは |
promiseがfulfilledまたはrejectedされたvalue(ある場合)。[[PromiseState]]が |
| [[PromiseFulfillReactions]] |
|
promiseが |
| [[PromiseRejectReactions]] |
|
promiseが |
| [[PromiseIsHandled]] | Boolean | promiseがこれまでにfulfillmentまたはrejection handlerを持ったことがあるかどうかを示す。unhandled rejection trackingで使用される。 |
GeneratorFunctionsは、通常、
GeneratorFunction
Functionのsubclassである。GeneratorFunction (…)は、同じargumentsを持つobject creation expression new GeneratorFunction (…)と等価である。extends clauseのvalueとして使用してもよい。指定されたGeneratorFunction behaviourをinheritすることを意図するsubclass super callを含まなければならない。generator 最後のargument(ある場合)は、generator functionのbody(executable code)を指定する。それより前のargumentsはformal parametersを指定する。
このfunctionは、呼び出されたときに以下のstepsを実行する:
GeneratorFunction
GeneratorFunction.prototypeのinitial valueは
このpropertyはattributes { [[Writable]]:
GeneratorFunction prototype objectは:
GeneratorFunction.prototype.constructorのinitial valueは
このpropertyはattributes { [[Writable]]:
GeneratorFunction.prototype.prototypeのinitial valueは
このpropertyはattributes { [[Writable]]:
このpropertyはattributes { [[Writable]]:
すべてのGeneratorFunction instanceはECMAScript
各GeneratorFunction instanceは以下のown propertiesを持つ:
GeneratorFunction instanceが作成されるたびに、別の
このpropertyはattributes { [[Writable]]:
Function instancesとは異なり、GeneratorFunctionの
AsyncGeneratorFunctionsは、通常、
AsyncGeneratorFunction
Functionのsubclassである。AsyncGeneratorFunction (...)は、同じargumentsを持つobject creation expression new AsyncGeneratorFunction (...)と等価である。extends clauseのvalueとして使用してもよい。指定されたAsyncGeneratorFunction behaviourをinheritすることを意図するsubclass super callを含まなければならない。async generator 最後のargument(ある場合)は、async generator functionのbody(executable code)を指定する。それより前のargumentsはformal parametersを指定する。
このfunctionは、呼び出されたときに以下のstepsを実行する:
AsyncGeneratorFunction
AsyncGeneratorFunction.prototypeのinitial valueは
このpropertyはattributes { [[Writable]]:
AsyncGeneratorFunction prototype objectは:
AsyncGeneratorFunction.prototype.constructorのinitial valueは
このpropertyはattributes { [[Writable]]:
AsyncGeneratorFunction.prototype.prototypeのinitial valueは
このpropertyはattributes { [[Writable]]:
このpropertyはattributes { [[Writable]]:
すべてのAsyncGeneratorFunction instanceはECMAScript
各AsyncGeneratorFunction instanceは以下のown propertiesを持つ:
このpropertyはattributes { [[Writable]]:
AsyncGeneratorFunction instanceが作成されるたびに、別の
このpropertyはattributes { [[Writable]]:
function instancesとは異なり、AsyncGeneratorFunctionの
Generatorは、generator functionをcallすることによって作成され、
Generator instancesは、そのinstanceを作成したgenerator functionの
%GeneratorPrototype% objectは:
.constructorのinitial valueは
このpropertyはattributes { [[Writable]]:
このmethodは、呼び出されたときに以下のstepsを実行する:
このmethodは、呼び出されたときに以下のstepsを実行する:
このpropertyはattributes { [[Writable]]:
Generator instancesは、最初に
| Internal Slot | Type | Description |
|---|---|---|
| [[GeneratorState]] |
|
generatorのcurrent execution state。 |
| [[GeneratorContext]] |
|
このgeneratorのcodeをexecutingするときに使用される |
| [[GeneratorBrand]] |
Stringまたは |
異なる種類のgeneratorsをdistinguishするために使用されるbrand。 |
The abstract operation GeneratorStart takes arguments gen (a Generator) and genBody (a
The abstract operation GeneratorValidate takes arguments gen (an ECMAScript language value) and genBrand (a String or
The abstract operation GeneratorResume takes arguments gen (an ECMAScript language value), value (an ECMAScript language value or
The abstract operation GeneratorResumeAbrupt takes arguments gen (an ECMAScript language value), abruptCompletion (a
The abstract operation GetGeneratorKind takes no arguments and returns
The abstract operation GeneratorYield takes argument iteratorResult (an Object that conforms to the
The abstract operation Yield takes argument arg (an ECMAScript language value) and returns either a
The abstract operation CreateIteratorFromClosure takes arguments closure (an
AsyncGeneratorは、async generator functionをcallすることによって作成され、
AsyncGenerator instancesは、そのinstanceを作成したasync generator functionの
%AsyncGeneratorPrototype% objectは:
.constructorのinitial valueは
このpropertyはattributes { [[Writable]]:
このpropertyはattributes { [[Writable]]:
AsyncGenerator instancesは、最初に以下に記述されるinternal slotsで作成される:
| Internal Slot | Type | Description |
|---|---|---|
| [[AsyncGeneratorState]] | async generatorのcurrent execution state。 | |
| [[AsyncGeneratorContext]] | このasync generatorのcodeをexecutingするときに使用される |
|
| [[AsyncGeneratorQueue]] | async generatorをresumeするrequestsを表す |
|
| [[GeneratorBrand]] | Stringまたは |
異なる種類のasync generatorsをdistinguishするために使用されるbrand。 |
AsyncGeneratorRequestは、async generatorがどのようにresumedされるべきかについての情報を格納し、対応するpromiseをfulfillまたはrejectするcapabilitiesを含むために使用される
これらは以下のfieldsを持つ:
| Field Name | Value | Meaning |
|---|---|---|
| [[Completion]] | async generatorをresumeするために使用されるべき |
|
| [[Capability]] | このrequestにassociatedするpromise capabilities。 |
The abstract operation AsyncGeneratorStart takes arguments gen (an AsyncGenerator) and genBody (a
The abstract operation AsyncGeneratorValidate takes arguments gen (an ECMAScript language value) and genBrand (a String or
The abstract operation AsyncGeneratorEnqueue takes arguments gen (an AsyncGenerator), completion (a
The abstract operation AsyncGeneratorCompleteStep takes arguments gen (an AsyncGenerator), completion (a
The abstract operation AsyncGeneratorResume takes arguments gen (an AsyncGenerator) and completion (a
The abstract operation AsyncGeneratorUnwrapYieldResumption takes argument resumptionValue (a
The abstract operation AsyncGeneratorYield takes argument arg (an ECMAScript language value) and returns either a
The abstract operation AsyncGeneratorAwaitReturn takes argument gen (an AsyncGenerator) and returns
The abstract operation AsyncGeneratorDrainQueue takes argument gen (an AsyncGenerator) and returns
AsyncFunctionsは、通常、
AsyncFunction
Functionのsubclassである。AsyncFunction(…)は、同じargumentsを持つobject creation expression new AsyncFunction(…)と等価である。extends clauseのvalueとして使用してもよい。指定されたAsyncFunction behaviourをinheritすることを意図するsubclass super callを含まなければならない。async 最後のargument(ある場合)は、async functionのbody(executable code)を指定する。それより前のargumentsはformal parametersを指定する。
このfunctionは、呼び出されたときに以下のstepsを実行する:
AsyncFunction
AsyncFunction.prototypeのinitial valueは
このpropertyはattributes { [[Writable]]:
AsyncFunction prototype objectは:
AsyncFunction.prototype.constructorのinitial valueは
このpropertyはattributes { [[Writable]]:
このpropertyはattributes { [[Writable]]:
すべてのAsyncFunction instanceはECMAScript
各AsyncFunction instanceは以下のown propertiesを持つ:
The abstract operation AsyncFunctionStart takes arguments promiseCapability (a
The abstract operation AsyncBlockStart takes arguments promiseCapability (a
The abstract operation Await takes argument arg (an ECMAScript language value) and returns either a