promise.all 异常处理
2015-09-14 11:33
267 查看
promise.all中任何一个promise出现错误的时候都会执行reject,
导致其它正常返回的数据也无法使用了
有两个解决方法:
1.全部改为串行调用(失去了node并发优势)
2.当promise捕获到error的时候,代码吃掉这个异常,返回resolve,约定特殊格式表示这个调用成功了
varp1=newPromise(function(resolve,reject){ setTimeout(function(){ resolve(1); },0) }); varp2=newPromise(function(resolve,reject){ setTimeout(function(){ resolve(2); },200) }); varp3=newPromise(function(resolve,reject){ setTimeout(function(){ try{ console.log(XX.BBB); } catch(exp){ resolve("error"); } },100) }); Promise.all([p1,p2,p3]).then(function(results){ console.log("success") console.log(results); }).catch(function(r){ console.log("err"); console.log(r); });
相关文章推荐
- C++的三种继承方式简述
- 看unix高级编程(第三版)时遇到apue.h找不到的问题
- CDH 5.3.0 一个小任务运行了12个小时的原因。
- javascript获取随机数的几种方式
- LoadRunner使用之变量参数化
- WPF 绑定集合 根据集合个数改变样式 INotifyCollectionChanged
- Bayesian Face Revisited A Joint Formulation
- codeforces #319 DIV2 577B Modulo Sum
- codeforces #319 DIV2 577B Modulo Sum
- AWS EC2搭建tomcat服务器并托管应用
- 编绎报错,objc_msgSend too many arguments to function call,expected 0, have3
- 2.仿微信--登录界面(LoginActivity)布局界面的实现
- erl_list-打印杨辉三角
- 第三方登录开发-Facebook
- init: Id "co" respawning too fast: disabled for 5 minutes
- 值传递和引用传递
- quartz CronExpression表达式
- H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
- erl_stack_queue-队列求迷宫最短路径
- Java集合类详解