all |
|
|
allSettled |
|
|
any |
|
|
browser.js |
|
0 |
constructor.js |
---
esid: sec-promise-executor
description: >
The Promise constructor is a built-in function
--- |
303 |
create-resolving-functions-reject.js |
---
esid: sec-createresolvingfunctions
description: >
reject is anonymous built-in function with length of 1.
info: |
CreateResolvingFunctions ( promise )
...
7. Let reject be ! CreateBuiltinFunction(stepsReject, « [[Promise]], [[AlreadyResolved]] »).
features: [Reflect.construct, arrow-function]
includes: [isConstructor.js]
flags: [async]
--- |
1032 |
create-resolving-functions-resolve.js |
---
esid: sec-createresolvingfunctions
description: >
resolve is anonymous built-in function with length of 1.
info: |
CreateResolvingFunctions ( promise )
...
3. Let resolve be ! CreateBuiltinFunction(stepsResolve, « [[Promise]], [[AlreadyResolved]] »).
features: [Reflect.construct, arrow-function]
includes: [isConstructor.js]
flags: [async]
--- |
1042 |
exception-after-resolve-in-executor.js |
---
es6id: 25.4.3.1
description: >
Already resolved promise is not rejected when executor throws an exception.
info: |
Promise ( executor )
...
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined, «resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
a. Let status be Call(resolvingFunctions.[[Reject]], undefined, «completion.[[value]]»).
b. ReturnIfAbrupt(status).
...
flags: [async]
--- |
901 |
exception-after-resolve-in-thenable-job.js |
---
es6id: 25.4.2.2
description: >
Already resolved promise is not rejected when then() function throws an exception.
info: |
PromiseResolveThenableJob ( promiseToResolve, thenable, then )
1. Let resolvingFunctions be CreateResolvingFunctions(promiseToResolve).
2. Let thenCallResult be Call(then, thenable, «resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
3. If thenCallResult is an abrupt completion,
a. Let status be Call(resolvingFunctions.[[Reject]], undefined, «thenCallResult.[[value]]»)
b. NextJob Completion(status).
...
flags: [async]
--- |
1053 |
exec-args.js |
---
es6id: 25.4.3.1
description: Promise executor is invoked synchronously
info: |
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
The length property of a promise resolve function is 1.
25.4.1.3.1 Promise Reject Functions
The length property of a promise reject function is 1.
--- |
1033 |
executor-call-context-sloppy.js |
---
esid: sec-promise-executor
author: Sam Mikes
description: >
Promise executor is called in global object context in sloppy mode.
info: |
25.6.3.1 Promise ( executor )
[...]
9. Let completion be Call(executor, undefined, « resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]] »).
flags: [noStrict]
--- |
570 |
executor-call-context-strict-strict.js |
---
esid: sec-promise-executor
author: Sam Mikes
description: >
Promise executor is called in `undefined` context in strict mode.
info: |
25.6.3.1 Promise ( executor )
[...]
9. Let completion be Call(executor, undefined, « resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]] »).
flags: [onlyStrict]
--- |
589 |
executor-function-extensible.js |
---
es6id: 25.4.1.5.1
description: The [[Extensible]] slot of GetCapabilitiesExecutor functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless specified otherwise, the [[Extensible]] internal slot
of a built-in object initially has the value true.
--- |
641 |
executor-function-length.js |
---
es6id: 25.4.1.5.1
description: The `length` property of GetCapabilitiesExecutor functions
info: |
The length property of a GetCapabilitiesExecutor function is 2.
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
872 |
executor-function-name.js |
---
esid: sec-getcapabilitiesexecutor-functions
description: The `name` property of GetCapabilitiesExecutor functions
info: |
A GetCapabilitiesExecutor function is an anonymous built-in function.
17 ECMAScript Standard Built-in Objects:
Every built-in function object, including constructors, has a `name`
property whose value is a String. Functions that are identified as
anonymous functions use the empty string as the value of the `name`
property.
Unless otherwise specified, the `name` property of a built-in function
object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*,
[[Configurable]]: *true* }.
includes: [propertyHelper.js]
--- |
1131 |
executor-function-not-a-constructor.js |
---
esid: sec-getcapabilitiesexecutor-functions
description: GetCapabilitiesExecutor function is not constructor
info: |
17 ECMAScript Standard Built-in Objects:
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified
in the description of a particular function.
includes: [isConstructor.js]
features: [Reflect.construct, arrow-function]
--- |
1134 |
executor-function-property-order.js |
---
esid: sec-createbuiltinfunction
description: Promise executor function property order
info: |
Set order: "length", "name"
--- |
742 |
executor-function-prototype.js |
---
es6id: 25.4.1.5.1
description: The [[Prototype]] of GetCapabilitiesExecutor functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified every built-in function and every built-in
constructor has the Function prototype object, which is the initial
value of the expression Function.prototype (19.2.3), as the value of
its [[Prototype]] internal slot.
--- |
803 |
executor-not-callable.js |
---
esid: sec-promise-executor
author: Sam Mikes
description: >
Promise constructor throws TypeError if executor is not callable.
info: |
25.6.3.1 Promise ( executor )
[...]
2. If IsCallable(executor) is false, throw a TypeError exception.
--- |
670 |
get-prototype-abrupt-executor-not-callable.js |
---
esid: sec-promise-executor
description: >
Promise constructor gets prototype after checking that executor is callable.
info: |
25.6.3.1 Promise ( executor )
[...]
2. If IsCallable(executor) is false, throw a TypeError exception.
3. Let promise be ? OrdinaryCreateFromConstructor(NewTarget, "%PromisePrototype%", « [[PromiseState]], [[PromiseResult]], [[PromiseFulfillReactions]], [[PromiseRejectReactions]], [[PromiseIsHandled]] »).
9.1.13 OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
[...]
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
9.1.14 GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
[...]
3. Let proto be ? Get(constructor, "prototype").
features: [Reflect, Reflect.construct]
--- |
1208 |
get-prototype-abrupt.js |
---
esid: sec-promise-executor
description: >
Abrupt completion from "prototype" property access
info: |
25.6.3.1 Promise ( executor )
[...]
3. Let promise be ? OrdinaryCreateFromConstructor(NewTarget, "%PromisePrototype%", « [[PromiseState]], [[PromiseResult]], [[PromiseFulfillReactions]], [[PromiseRejectReactions]], [[PromiseIsHandled]] »).
9.1.13 OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
[...]
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
9.1.14 GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
[...]
3. Let proto be ? Get(constructor, "prototype").
features: [Reflect, Reflect.construct]
--- |
1130 |
is-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
The Promise constructor implements [[Construct]]
info: |
IsConstructor ( argument )
The abstract operation IsConstructor takes argument argument (an ECMAScript language value).
It determines if argument is a function object with a [[Construct]] internal method.
It performs the following steps when called:
If Type(argument) is not Object, return false.
If argument has a [[Construct]] internal method, return true.
Return false.
includes: [isConstructor.js]
features: [Reflect.construct, arrow-function]
--- |
866 |
length.js |
---
es6id: 25.4.3.1
description: Promise `length` property
info: |
ES6 Section 17:
Every built-in Function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this value
is equal to the largest number of named arguments shown in the subclause
headings for the function description, including optional parameters.
[...]
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
895 |
name.js |
---
es6id: 25.4.3.1
description: Promise `name` property
info: |
ES6 Section 17:
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value is a
String. Unless otherwise specified, this value is the name that is given to
the function in this specification.
[...]
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
879 |
promise.js |
---
esid: sec-promise-constructor
description: >
Property descriptor of Promise
info: |
25.6.3 The Promise Constructor
is the initial value of the Promise property of the global object.
17 ECMAScript Standard Built-in Objects
Every other data property described in clauses 18 through 26 and in Annex B.2
has the attributes { [[Writable]]: true, [[Enumerable]]: false,
[[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
--- |
745 |
property-order.js |
---
esid: sec-createbuiltinfunction
description: Promise constructor property order
info: |
Set order: "length", "name", ...
--- |
567 |
proto-from-ctor-realm.js |
---
esid: sec-promise-executor
description: Default [[Prototype]] value derived from realm of the newTarget
info: |
[...]
3. Let promise be ? OrdinaryCreateFromConstructor(NewTarget,
"%PromisePrototype%", « [[PromiseState]], [[PromiseResult]],
[[PromiseFulfillReactions]], [[PromiseRejectReactions]],
[[PromiseIsHandled]] »).
[...]
9.1.14 GetPrototypeFromConstructor
[...]
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Let proto be realm's intrinsic object named intrinsicDefaultProto.
[...]
features: [cross-realm, Reflect]
--- |
1074 |
prototype |
|
|
race |
|
|
reject |
|
|
reject-function-extensible.js |
---
es6id: 25.4.1.3.1
description: The [[Extensible]] slot of Promise Reject functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless specified otherwise, the [[Extensible]] internal slot
of a built-in object initially has the value true.
--- |
557 |
reject-function-length.js |
---
es6id: 25.4.1.3.1
description: The `length` property of Promise Reject functions
info: |
The length property of a promise reject function is 1.
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
779 |
reject-function-name.js |
---
esid: sec-promise-reject-functions
description: The `name` property of Promise Reject functions
info: |
A promise reject function is an anonymous built-in function.
17 ECMAScript Standard Built-in Objects:
Every built-in function object, including constructors, has a `name`
property whose value is a String. Functions that are identified as
anonymous functions use the empty string as the value of the `name`
property.
Unless otherwise specified, the `name` property of a built-in function
object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*,
[[Configurable]]: *true* }.
includes: [propertyHelper.js]
--- |
1029 |
reject-function-nonconstructor.js |
---
es6id: 25.4.1.3.1
description: Promise Reject functions are not constructors
info: |
17 ECMAScript Standard Built-in Objects:
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified
in the description of a particular function.
--- |
745 |
reject-function-property-order.js |
---
esid: sec-createbuiltinfunction
description: Promise reject function property order
info: |
Set order: "length", "name"
--- |
659 |
reject-function-prototype.js |
---
es6id: 25.4.1.3.1
description: The [[Prototype]] of Promise Reject functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified every built-in function and every built-in
constructor has the Function prototype object, which is the initial
value of the expression Function.prototype (19.2.3), as the value of
its [[Prototype]] internal slot.
--- |
719 |
reject-ignored-via-abrupt.js |
---
description: Resolved promises ignore rejections through an abrupt completion
es6id: 25.4.3.1
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
a. Let status be Call(resolvingFunctions.[[Reject]], undefined,
«completion.[[value]]»).
b. ReturnIfAbrupt(status).
11. Return promise.
25.4.1.3.1 Promise Reject Functions
[...]
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
flags: [async]
--- |
1065 |
reject-ignored-via-fn-deferred.js |
---
description: >
Resolved promises ignore rejections through deferred invocation of the
provided resolving function
es6id: 25.4.3.1
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
[...]
11. Return promise.
25.4.1.3.1 Promise Reject Functions
[...]
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
flags: [async]
--- |
1165 |
reject-ignored-via-fn-immed.js |
---
description: >
Resolved promises ignore rejections through immediate invocation of the
provided resolving function
es6id: 25.4.3.1
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
[...]
11. Return promise.
25.4.1.3.1 Promise Reject Functions
[...]
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
flags: [async]
--- |
1104 |
reject-via-abrupt-queue.js |
---
description: >
Rejecting through an abrupt completion - captured in a queued job
esid: sec-promise-executor
info: |
25.4.3.1 Promise ( executor )
...
9. Let completion be Call(executor, undefined, « resolvingFunctions.[[Resolve]],
resolvingFunctions.[[Reject]] »).
10. If completion is an abrupt completion, then
a. Perform ? Call(resolvingFunctions.[[Reject]], undefined, « completion.[[Value]] »).
11. Return promise.
25.4.1.3.1 Promise Reject Functions
...
6. Return RejectPromise(promise, reason).
25.4.5.3.1 PerformPromiseThen ( promise, onFulfilled, onRejected, resultCapability )
...
4. If IsCallable(onRejected) is false, then
a. Set onRejected to undefined.
...
6. Let rejectReaction be the PromiseReaction { [[Capability]]: resultCapability,
[[Type]]: "Reject", [[Handler]]: onRejected }.
...
9. Else,
a. Assert: The value of promise.[[PromiseState]] is "rejected".
...
d. Perform EnqueueJob("PromiseJobs", PromiseReactionJob, « rejectReaction, reason »).
flags: [async]
--- |
1593 |
reject-via-abrupt.js |
---
description: Rejecting through an abrupt completion
es6id: 25.4.3.1
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
a. Let status be Call(resolvingFunctions.[[Reject]], undefined,
«completion.[[value]]»).
b. ReturnIfAbrupt(status).
11. Return promise.
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
flags: [async]
--- |
1028 |
reject-via-fn-deferred-queue.js |
---
description: >
Rejecting through deferred invocation of the provided resolving function,
captured in a queued job.
esid: sec-promise-executor
info: |
25.4.3.1 Promise ( executor )
...
9. Let completion be Call(executor, undefined, « resolvingFunctions.[[Resolve]],
resolvingFunctions.[[Reject]] »).
10. If completion is an abrupt completion, then
a. Perform ? Call(resolvingFunctions.[[Reject]], undefined, « completion.[[Value]] »).
11. Return promise.
25.4.1.3.1 Promise Reject Functions
...
6. Return RejectPromise(promise, reason).
25.4.5.3.1 PerformPromiseThen ( promise, onFulfilled, onRejected, resultCapability )
...
4. If IsCallable(onRejected) is false, then
a. Set onRejected to undefined.
...
6. Let rejectReaction be the PromiseReaction { [[Capability]]: resultCapability,
[[Type]]: "Reject", [[Handler]]: onRejected }.
7. If promise.[[PromiseState]] is "pending", then
...
b. Append rejectReaction as the last element of the List that is
promise.[[PromiseRejectReactions]].
...
flags: [async]
--- |
1780 |
reject-via-fn-deferred.js |
---
description: Rejecting through deferred invocation of the provided resolving function
es6id: 25.4.3.1
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
[...]
11. Return promise.
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
flags: [async]
--- |
1089 |
reject-via-fn-immed-queue.js |
---
description: >
Rejecting through immediate invocation of the provided resolving function,
captured in a queued job.
esid: sec-promise-executor
info: |
25.4.3.1 Promise ( executor )
...
9. Let completion be Call(executor, undefined, « resolvingFunctions.[[Resolve]],
resolvingFunctions.[[Reject]] »).
10. If completion is an abrupt completion, then
a. Perform ? Call(resolvingFunctions.[[Reject]], undefined, « completion.[[Value]] »).
11. Return promise.
25.4.1.3.1 Promise Reject Functions
...
6. Return RejectPromise(promise, reason).
25.4.5.3.1 PerformPromiseThen ( promise, onFulfilled, onRejected, resultCapability )
...
4. If IsCallable(onRejected) is false, then
a. Set onRejected to undefined.
...
6. Let rejectReaction be the PromiseReaction { [[Capability]]: resultCapability,
[[Type]]: "Reject", [[Handler]]: onRejected }.
...
9. Else,
a. Assert: The value of promise.[[PromiseState]] is "rejected".
...
d. Perform EnqueueJob("PromiseJobs", PromiseReactionJob, « rejectReaction, reason »).
flags: [async]
--- |
1757 |
reject-via-fn-immed.js |
---
description: Rejecting through immediate invocation of the provided resolving function
es6id: 25.4.3.1
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
[...]
11. Return promise.
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
flags: [async]
--- |
1058 |
resolve |
|
|
resolve-function-extensible.js |
---
es6id: 25.4.1.3.2
description: The [[Extensible]] slot of Promise Resolve functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless specified otherwise, the [[Extensible]] internal slot
of a built-in object initially has the value true.
--- |
562 |
resolve-function-length.js |
---
es6id: 25.4.1.3.2
description: The `length` property of Promise Resolve functions
info: |
The length property of a promise resolve function is 1.
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
785 |
resolve-function-name.js |
---
esid: sec-promise-resolve-functions
description: The `name` property of Promise Resolve functions
info: |
A promise resolve function is an anonymous built-in function.
17 ECMAScript Standard Built-in Objects:
Every built-in function object, including constructors, has a `name`
property whose value is a String. Functions that are identified as
anonymous functions use the empty string as the value of the `name`
property.
Unless otherwise specified, the `name` property of a built-in function
object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*,
[[Configurable]]: *true* }.
includes: [propertyHelper.js]
--- |
1036 |
resolve-function-nonconstructor.js |
---
es6id: 25.4.1.3.2
description: Promise Resolve functions are not constructors
info: |
17 ECMAScript Standard Built-in Objects:
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified
in the description of a particular function.
--- |
751 |
resolve-function-property-order.js |
---
esid: sec-createbuiltinfunction
description: Promise resolve function property order
info: |
Set order: "length", "name"
--- |
662 |
resolve-function-prototype.js |
---
es6id: 25.4.1.3.2
description: The [[Prototype]] of Promise Resolve functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified every built-in function and every built-in
constructor has the Function prototype object, which is the initial
value of the expression Function.prototype (19.2.3), as the value of
its [[Prototype]] internal slot.
--- |
724 |
resolve-ignored-via-fn-deferred.js |
---
description: >
Rejected promises ignore resolution after deferred invocation of the
provided reject function
esid: sec-promise-executor
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
[...]
11. Return promise.
25.4.1.3.2 Promise Resolve Functions
[...]
3. Let alreadyResolved be F.[[AlreadyResolved]].
4. If alreadyResolved.[[Value]] is true, return undefined.
flags: [async]
--- |
1139 |
resolve-ignored-via-fn-immed.js |
---
description: >
Rejected promises ignore resolution after immediate invocation of the
provided reject function
esid: sec-promise-executor
info: |
[...]
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
10. If completion is an abrupt completion, then
[...]
11. Return promise.
25.4.1.3.2 Promise Resolve Functions
[...]
3. Let alreadyResolved be F.[[AlreadyResolved]].
4. If alreadyResolved.[[Value]] is true, return undefined.
flags: [async]
--- |
1077 |
resolve-non-obj-deferred.js |
---
description: >
Resolving with a non-object value after invocation of the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
flags: [async]
--- |
1079 |
resolve-non-obj-immed.js |
---
description: Resolving with a non-object value from within the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
flags: [async]
--- |
1030 |
resolve-non-thenable-deferred.js |
---
description: >
Resolving with a non-thenable object value after invocation of the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
[...]
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
[...]
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
flags: [async]
--- |
1299 |
resolve-non-thenable-immed.js |
---
description: >
Resolving with a non-thenable object value from within the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
[...]
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
[...]
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
flags: [async]
--- |
1256 |
resolve-poisoned-then-deferred.js |
---
description: >
Resolving with an object with a "poisoned" `then` property after invocation
of the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
flags: [async]
--- |
1234 |
resolve-poisoned-then-immed.js |
---
description: >
Resolving with an object with a "poisoned" `then` property from within the
executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
flags: [async]
--- |
1191 |
resolve-prms-cstm-then-deferred.js |
---
description: >
Resolving with a resolved Promise instance whose `then` method has been
overridden after execution of the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
[...]
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
[...]
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
flags: [async]
--- |
1505 |
resolve-prms-cstm-then-immed.js |
---
description: >
Resolving with a resolved Promise instance whose `then` method has been
overridden from within the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
[...]
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
[...]
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
flags: [async]
--- |
1640 |
resolve-self.js |
---
description: Resolving with a reference to the promise itself
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
[...]
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
flags: [async]
--- |
1264 |
resolve-thenable-deferred.js |
---
description: >
Resolving with a thenable object value after execution of the executor
function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
[...]
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
[...]
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
flags: [async]
--- |
1408 |
resolve-thenable-immed.js |
---
description: >
Resolving with a thenable object value from within the executor function
es6id: 25.4.3.1
info: |
[...]
8. Let resolvingFunctions be CreateResolvingFunctions(promise).
9. Let completion be Call(executor, undefined,
«resolvingFunctions.[[Resolve]], resolvingFunctions.[[Reject]]»).
25.4.1.3.2 Promise Resolve Functions
[...]
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
[...]
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
flags: [async]
--- |
1362 |
shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
3034 |
Symbol.species |
|
|
try |
|
|
undefined-newtarget.js |
---
esid: sec-promise-executor
description: >
Throws a TypeError if Promise is called without a NewTarget.
info: |
25.6.3.1 Promise ( executor )
1. If NewTarget is undefined, throw a TypeError exception.
--- |
634 |
withResolvers |
|
|