minor fixes
This commit is contained in:
parent
64b0ff3949
commit
a9925f4917
1 changed files with 4 additions and 4 deletions
|
@ -179,10 +179,10 @@ If the browser doesn't support `Promise.allSettled`, it's easy to polyfill:
|
||||||
if(!Promise.allSettled) {
|
if(!Promise.allSettled) {
|
||||||
Promise.allSettled = function(promises) {
|
Promise.allSettled = function(promises) {
|
||||||
return Promise.all(promises.map(p => Promise.resolve(p).then(value => ({
|
return Promise.all(promises.map(p => Promise.resolve(p).then(value => ({
|
||||||
state: 'fulfilled',
|
status: 'fulfilled',
|
||||||
value
|
value
|
||||||
}), reason => ({
|
}), reason => ({
|
||||||
state: 'rejected',
|
status: 'rejected',
|
||||||
reason
|
reason
|
||||||
}))));
|
}))));
|
||||||
};
|
};
|
||||||
|
@ -191,7 +191,7 @@ if(!Promise.allSettled) {
|
||||||
|
|
||||||
In this code, `promises.map` takes input values, turns them into promises (just in case a non-promise was passed) with `p => Promise.resolve(p)`, and then adds `.then` handler to every one.
|
In this code, `promises.map` takes input values, turns them into promises (just in case a non-promise was passed) with `p => Promise.resolve(p)`, and then adds `.then` handler to every one.
|
||||||
|
|
||||||
That handler turns a successful result `value` into `{state:'fulfilled', value}`, and an error `reason` into `{state:'rejected', reason}`. That's exactly the format of `Promise.allSettled`.
|
That handler turns a successful result `value` into `{status:'fulfilled', value}`, and an error `reason` into `{status:'rejected', reason}`. That's exactly the format of `Promise.allSettled`.
|
||||||
|
|
||||||
Now we can use `Promise.allSettled` to get the results of *all* given promises, even if some of them reject.
|
Now we can use `Promise.allSettled` to get the results of *all* given promises, even if some of them reject.
|
||||||
|
|
||||||
|
@ -277,7 +277,7 @@ There are 5 static methods of `Promise` class:
|
||||||
|
|
||||||
1. `Promise.all(promises)` -- waits for all promises to resolve and returns an array of their results. If any of the given promises rejects, it becomes the error of `Promise.all`, and all other results are ignored.
|
1. `Promise.all(promises)` -- waits for all promises to resolve and returns an array of their results. If any of the given promises rejects, it becomes the error of `Promise.all`, and all other results are ignored.
|
||||||
2. `Promise.allSettled(promises)` (recently added method) -- waits for all promises to settle and returns their results as an array of objects with:
|
2. `Promise.allSettled(promises)` (recently added method) -- waits for all promises to settle and returns their results as an array of objects with:
|
||||||
- `state`: `"fulfilled"` or `"rejected"`
|
- `status`: `"fulfilled"` or `"rejected"`
|
||||||
- `value` (if fulfilled) or `reason` (if rejected).
|
- `value` (if fulfilled) or `reason` (if rejected).
|
||||||
3. `Promise.race(promises)` -- waits for the first promise to settle, and its result/error becomes the outcome.
|
3. `Promise.race(promises)` -- waits for the first promise to settle, and its result/error becomes the outcome.
|
||||||
4. `Promise.resolve(value)` -- makes a resolved promise with the given value.
|
4. `Promise.resolve(value)` -- makes a resolved promise with the given value.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue