当前输出: 预期输出: 当一个承诺被拒绝时,我如何取消未解决的承诺。在这种情况下,我将取消承诺3 这不是解决方案,因此我想一次运行多个线程而不是一个一个地运行函数。这就是为什么我使用 promise.all const array = [1, 2, 3]
const wrapper = (e) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
if(e === 2) {
reject(e+":rejected")
} else {
console.log(e+":resolved")
resolve()
}
}, e * 1000);
})
}
const main = async() => {
try {
await Promise.all(array.map(e => wrapper(e)))
} catch(e){
console.log(e)
}
}
main()
1:resolved
2:rejected
3:resolved
1:resolved
2:rejected
for(let i = 1;i <= 3;i ++) {
await wrapper(i)
}
0 个答案:
没有答案