Promise all failed
时间: 2023-11-21 07:05:53 浏览: 54
当Promise.all()中的所有promise任务都成功执行时,Promise.all()返回resolve,但是当其中一个promise任务失败时,Promise.all()会直接返回失败的信息,即使其他promise任务执行成功也会返回失败。下面是一个Promise.all()执行失败的例子:
```javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(resolve, 500, 'Promise 1');
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(reject, 1000, 'Promise 2 Failed');
});
const promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 2000, 'Promise 3');
});
Promise.all([promise1, promise2, promise3])
.then(values => {
console.log(values);
})
.catch(error => {
console.error(error);
});
```
在上面的例子中,promise2会在1秒后返回失败信息,因此Promise.all()会直接返回失败信息,即"Promise 2 Failed"。即使promise1和promise3执行成功,也不会影响Promise.all()的返回结果。
阅读全文