Promise.any
I think Promise.any() must be in this article.
This commit is contained in:
parent
99e59ba611
commit
891495cd47
1 changed files with 23 additions and 0 deletions
|
@ -217,6 +217,29 @@ Promise.race([
|
||||||
The first promise here was fastest, so it became the result. After the first settled promise "wins the race", all further results/errors are ignored.
|
The first promise here was fastest, so it became the result. After the first settled promise "wins the race", all further results/errors are ignored.
|
||||||
|
|
||||||
|
|
||||||
|
## Promise.any
|
||||||
|
|
||||||
|
Similar to `Promise.race`, but waits only for the first fulfilled promise and gets its result. If all of the given promises are rejected, then the returned promise is rejected.
|
||||||
|
|
||||||
|
The syntax is:
|
||||||
|
|
||||||
|
```js
|
||||||
|
let promise = Promise.any(iterable);
|
||||||
|
```
|
||||||
|
|
||||||
|
For instance, here the result will be `1`:
|
||||||
|
|
||||||
|
```js run
|
||||||
|
Promise.race([
|
||||||
|
new Promise((resolve, reject) => setTimeout(() => reject(new Error("Whoops!")), 1000)),
|
||||||
|
new Promise((resolve, reject) => setTimeout(() => resolve(1), 2000)),
|
||||||
|
new Promise((resolve, reject) => setTimeout(() => resolve(3), 3000))
|
||||||
|
]).then(alert); // 1
|
||||||
|
```
|
||||||
|
|
||||||
|
The first promise here was fastest, but it rejecets, so the second promise became the result. After the first fulfilled promise "wins the race", all further results are ignored.
|
||||||
|
|
||||||
|
|
||||||
## Promise.resolve/reject
|
## Promise.resolve/reject
|
||||||
|
|
||||||
Methods `Promise.resolve` and `Promise.reject` are rarely needed in modern code, because `async/await` syntax (we'll cover it [a bit later](info:async-await)) makes them somewhat obsolete.
|
Methods `Promise.resolve` and `Promise.reject` are rarely needed in modern code, because `async/await` syntax (we'll cover it [a bit later](info:async-await)) makes them somewhat obsolete.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue