promise.all

 1 function setTimeoutPro(name, time, flag = true) {
 2     return new Promise((resolve, reject) => {
 3         setTimeout(() => {
 4             console.log("name", name)
 5             flag ? resolve(name) : reject(name)
 6         }, time)
 7     })
 8 }
 9 Promise.all([
10     setTimeoutPro("1", 1000),
11     setTimeoutPro("2", 2000,false),
12     setTimeoutPro("3", 3000),
13     setTimeoutPro("4", 450, false)
14 ])
15     .then((value) => { console.log("then", value) })
16     .catch((e) => { console.log("catch", e) })

返回结果

name 4
catch 4
name 1
name 2
name 3
 
由此可知,promise.all promise的reject不会导致其它promise执行中断,但是只会返回第一个reject
posted @ 2022-11-01 08:34  谁凭花解语  阅读(89)  评论(0编辑  收藏  举报