判断循环里的所有promise返回正确
时间: 2023-05-30 09:03:01 浏览: 259
checkpoint4返回
要判断循环里的所有promise返回正确,可以使用Promise.all()和Array.map()方法。
首先,将循环中的每个操作都封装成一个返回promise的函数。然后使用Array.map()方法将所有函数映射成一个promise数组。
接着,使用Promise.all()方法等待所有promise都执行完毕,并将结果传给一个回调函数。
在回调函数中,使用Array.every()方法检查每个promise的状态是否为fulfilled,并返回一个布尔值。
如果所有promise都返回正确,则Array.every()方法返回true,否则返回false。
以下是一个示例代码:
```js
const promises = [1, 2, 3].map(num => {
return new Promise((resolve, reject) => {
if (num % 2 === 0) {
resolve(num);
} else {
reject(`${num} is odd`);
}
});
});
Promise.all(promises)
.then(results => {
const allCorrect = results.every(result => result !== false);
console.log(allCorrect); // true
})
.catch(error => {
console.log(error);
});
```
在这个示例中,我们使用Array.map()方法将每个数字都封装成一个返回promise的函数,并将所有函数映射成一个promise数组。
然后,我们使用Promise.all()方法等待所有promise都执行完毕,并将结果传给一个回调函数。
在回调函数中,我们使用Array.every()方法检查每个promise的状态是否为fulfilled,并返回一个布尔值。最后,我们打印出布尔值,表示所有promise是否都返回正确。
阅读全文