1const promise1 = Promise.resolve('First') 2const promise2 = Promise.resolve('Second') 3const promise3 = Promise.reject('Third') 4const promise4 = Promise.resolve('Fourth') 5 6const runPromises = async () => { 7 const res1 = await Promise.all([promise1, promise2]) 8 const res2 = await Promise.all([promise3, promise4]) 9 return [res1, res2] 10} 11 12runPromises() 13 .then(res => console.log(res)) 14 .catch(err => console.log(err))
本题为“单选题”
参考答案:
正确选项:D:'Third'
Promise.all
方法可以并行式运行promise。如果其中一个promise失败了,Promise.all
方法会带上被reject的promise的值_rejects_。在这个例子中, promise3
带着 "Third"
值reject。我们在调用 runPromises
时在 runPromises
函数内部的 catch
方法去捕获任意error从而捕获到被reject的值。因为 promise3
带着 "Third"
被reject,所以只有 "Third"
打印。
最近更新时间:2021-07-03