Comments (3)
However, in 2.3.3.3 we specify that the two callbacks supplied should be resolvePromise and rejectPromise. To my understanding, resolvePromise is actually deterministically fulfilling the Promise.
in 2.3.3.3 resolvePromise
does resolving the promise rather than fulfilling I.E. if the argument is a thenable/promise its value will become the fulfilled value (or rejection the rejection reason) rather than the promise. Fulfill takes whatever value as it is, without considering if it's a promise or thenable.
from promises-spec.
I think the reason it’s called resolve
its that you can pass a rejected Promise
to resolve()
, i.e. it does in fact not necessarily make the Promise fulfilled:
new Promise((resolve, reject) => {
resolve(Promise.reject('ABC'));
})
// => rejected Promise with reason 'ABC'
from promises-spec.
Thank you for the clarification, guys. This makes perfect sense. I wasn't thinking about resolving with a rejected Promise.
from promises-spec.
Related Issues (20)
- Can you assist me in satisfying promises aplus spec 2.2.4 in NodeJS? HOT 4
- here is a Chinese translation HOT 1
- Proposal: Make clear in the spec that the Promise constructor runs the provided function body immediately HOT 1
- Relationship with ECMA-262 § 25.4.2 - Promise Jobs HOT 4
- What is the intention behind clause 2.2.4 of Promise/A+ spec? HOT 5
- change "if x is a promise" to something non-circular and clear HOT 7
- clarify "is an object or function" HOT 10
- Clarify ambiguity between promises and thenables w.r.t. 2.3.2.1? HOT 5
- Promise Resolution Procedure 3.iii: What if then never calls its arguments? HOT 2
- UnhandledPromiseRejectionWarning HOT 3
- Some imprecise points in this spec HOT 22
- Question about **promise resolution procedure** 2.3.2 HOT 2
- Adopting state without .then() HOT 2
- Support translation
- What happened? please see code
- please see code HOT 1
- Rust promise implementation
- Add my implementation of promises
- Confused about the point of 2.3.2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from promises-spec.