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