| all |
|
|
- |
| 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]
--- |
882 |
- |
| 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]
--- |
1034 |
- |
| 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.
--- |
1011 |
- |
| 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.
--- |
619 |
- |
| 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]
--- |
919 |
- |
| executor-function-name.js |
---
es6id: 25.4.1.5.1
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, that is not
identified as an anonymous function has a name property whose value
is a String.
--- |
771 |
- |
| executor-function-nonconstructor.js |
---
es6id: 25.4.1.5.1
description: GetCapabilitiesExecutor 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.
--- |
809 |
- |
| 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.
--- |
781 |
- |
| 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]
--- |
915 |
- |
| 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]
--- |
893 |
- |
| proto-from-ctor-realm.js |
---
esid: sec-promise-executor
es6id: 25.4.3.1
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]
--- |
1068 |
- |
| 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.
--- |
535 |
- |
| 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]
--- |
820 |
- |
| reject-function-name.js |
---
es6id: 25.4.1.3.1
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, that is not
identified as an anonymous function has a name property whose value
is a String.
--- |
678 |
- |
| 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.
--- |
723 |
- |
| 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.
--- |
697 |
- |
| 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]
--- |
1046 |
- |
| 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]
--- |
1146 |
- |
| 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]
--- |
1085 |
- |
| 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]
--- |
1574 |
- |
| 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]
--- |
1009 |
- |
| 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]
--- |
1761 |
- |
| 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]
--- |
1070 |
- |
| 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]
--- |
1738 |
- |
| 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]
--- |
1039 |
- |
| 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.
--- |
540 |
- |
| 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]
--- |
829 |
- |
| resolve-function-name.js |
---
es6id: 25.4.1.3.2
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, that is not
identified as an anonymous function has a name property whose value
is a String.
--- |
684 |
- |
| 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.
--- |
729 |
- |
| 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.
--- |
702 |
- |
| resolve-ignored-via-fn-deferred.js |
---
description: >
Rejected promises ignore resolution after deferred invocation of the
provided reject function
esid: sec-promise-executor
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.2 Promise Resolve Functions
[...]
3. Let alreadyResolved be F.[[AlreadyResolved]].
4. If alreadyResolved.[[Value]] is true, return undefined.
flags: [async]
--- |
1136 |
- |
| resolve-ignored-via-fn-immed.js |
---
description: >
Rejected promises ignore resolution after immediate invocation of the
provided reject function
esid: sec-promise-executor
es6id: 25.4.3.3
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]
--- |
1074 |
- |
| 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]
--- |
1060 |
- |
| 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]
--- |
1011 |
- |
| 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]
--- |
1280 |
- |
| 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]
--- |
1237 |
- |
| 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]
--- |
1215 |
- |
| 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]
--- |
1172 |
- |
| 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]
--- |
1486 |
- |
| 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]
--- |
1621 |
- |
| 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]
--- |
1245 |
- |
| 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]
--- |
1389 |
- |
| 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]
--- |
1343 |
- |
| S25.4.3.1_A1.1_T1.js |
---
info: |
Promise is the Promise property of the global object
es6id: S25.4.3.1_A1.1_T1
author: Sam Mikes
description: Promise === global.Promise
--- |
356 |
- |
| S25.4.3.1_A2.1_T1.js |
---
info: |
Promise throws TypeError when 'this' is not Object
es6id: S25.4.3.1_A2.1_T1
author: Sam Mikes
description: Promise.call("non-object") throws TypeError
--- |
352 |
- |
| S25.4.3.1_A2.2_T1.js |
---
info: |
Promise throws TypeError when 'this' is constructed but unsettled promise
es6id: S25.4.3.1_A2.2_T1
author: Sam Mikes
description: Promise.call(new Promise()) throws TypeError
--- |
402 |
- |
| S25.4.3.1_A2.3_T1.js |
---
info: |
Promise throws TypeError when 'this' is resolved promise
es6id: S25.4.3.1_A2.3_T1
author: Sam Mikes
description: Promise.call(resolved Promise) throws TypeError
flags: [async]
--- |
609 |
- |
| S25.4.3.1_A2.4_T1.js |
---
info: |
Promise throws TypeError when 'this' is rejected promise
es6id: S25.4.3.1_A2.4_T1
author: Sam Mikes
description: Promise.call(rejected Promise) throws TypeError
flags: [async]
--- |
616 |
- |
| S25.4.3.1_A3.1_T1.js |
---
info: |
Promise throws TypeError when executor is not callable
es6id: S25.4.3.1_A3.1_T1
author: Sam Mikes
description: new Promise("not callable") throws TypeError
--- |
343 |
- |
| S25.4.3.1_A4.1_T1.js |
---
info: |
Promise catches exceptions thrown from executor and turns
them into reject
es6id: S25.4.3.1_A4.1_T1
author: Sam Mikes
description: new Promise(function () { throw }) should reject
flags: [async]
--- |
640 |
- |
| S25.4.3.1_A5.1_T1.js |
---
info: |
Promise executor has predictable environment
'this' should be global object in sloppy mode,
undefined in strict mode
es6id: S25.4.3.1_A5.1_T1
author: Sam Mikes
description: Promise executor gets default handling for 'this'
flags: [async, noStrict]
--- |
565 |
- |
| S25.4.3.1_A5.1_T2.js |
---
info: |
Promise executor has predictable environment
'this' should be global object in sloppy mode,
undefined in strict mode
es6id: S25.4.3.1_A5.1_T2
author: Sam Mikes
description: Promise executor gets default handling for 'this'
flags: [async, onlyStrict]
--- |
568 |
- |
| Symbol.species |
|
|
- |