Promise.allSettled 素颜马尾好姑娘i 2022-10-11 12:14 92阅读 0赞 Promise.allSettled是ES10的特性。 ### 为什么会产生这个API? ### 在某些场景,我们可能会遇到多个异步操作并行执行。如果使用promise.all()的话,有一个promise报错的话,整个流程都会走的失败行列里面。假设现在需要多个promise同时执行,不管其中那部分执行失败,统一进入到成功的回调里面。这时候,就需要Promise.allSettled登场了。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Promise.allSettled</title> </head> <body> <script> //声明两个promise对象 const p1 = new Promise((resolve, reject)=>{ setTimeout(()=>{ resolve('商品数据 - 1'); },1000) }); const p2 = new Promise((resolve, reject)=>{ setTimeout(()=>{ resolve('商品数据 - 2'); // reject('出错啦!'); },1000) }); //调用 allsettled 方法 const res = Promise.allSettled([p1, p2]); // const res = Promise.all([p1, p2]); console.log(res); </script> </body> </html>
还没有评论,来说两句吧...