一、什么是Promise.all()?

  在说这个之前要先说清楚promise。promise就是一个对象,专门用来处理异步操作的。

Promise.all方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。

二、Promise.all()有什么用?

  现在有一个需求,要你用node写个上传多张壁纸的接口,这时候就可以用Promise.all()了。

因为你需要发起多个传到数据库的请求,如果有一个没有传成功,都算失败。

三、怎么使用?

  这里只说我在工作中用的比较多的Promise.all()   具体更多可以参考阮一峰大神的es6入门 http://es6.ruanyifeng.com/#docs/promise#Promise-all

  router.post('/addWallpaper', async (req, res, next) => {
let promises = [];
await req.body.wallpaper.forEach(async function (i) {
// 获取传来的数据
let wallpaper = i[0];
// 默认未上线
let status = 0;
let dataArr = {
// 传入后台的数据
wallpaper,
status
};
let checkAndAdd = async function (dataArr) {
// do something
}
// 新增
    //do something

// 获取所有判断结果
promises.push(
checkAndAdd(dataArr).catch(err => {
console.error(err);
return null;
})
);
});
let resArr = await Promise.all(promises);
let resS = resArr.filter((res) => {
return res != null && res.code === 0;
});
});

其实写的不好,因为没有添加catch错误处理,promise会吃掉错误,假设前面的promise的代码出错了,程序不会退出脚本,终止运行,后续将继续完善。

最新文章

  1. 如何利用 Visual Studio 自定义项目或工程模板
  2. iOS---观察者模式之--->KVO
  3. 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】
  4. C# DES加密解密用法
  5. 加密–RSA前端与后台的加密&解密
  6. mvc的一些知识点
  7. HDU 1385 Minimum Transport Cost (最短路,并输出路径)
  8. mysql-test库要命的地方
  9. HDU 1016 Prime Ring Problem 题解
  10. http://fonts.googleapis.com/css?打开很慢解决方案
  11. 每天努力一点之SQL
  12. spring+ibatis问题1—— 程序报错:java.sql.SQLException: Io 异常: Connection reset by peer, socket write error; ”或“java.sql.SQLException 关闭的连接”异常
  13. bootstrap中可用的图标集
  14. globalToLocal的坐标变换
  15. 《Machine Learning》系列学习笔记之第三周
  16. .NET Core UI框架Avalonia
  17. 第七周LINUX学习笔记
  18. VimFaultException A specified parameter was not correct configSpec.guestId
  19. windows 比较文件命令--fc
  20. Django之form表单组件

热门文章

  1. Spring笔记(9) - IOC实现方式详解
  2. python并发编程——多线程
  3. linux不同环境变量文件的比较,如/etc/profile和/etc/environment
  4. springBoot整合Sentinel实现降级限流熔断
  5. SQL Server中datetimeset转换datetime类型问题浅析
  6. SpringBoot全局时间转换器
  7. java函数方法学习
  8. mysql-font1251错误
  9. python-scrapy爬取某招聘网站信息(一)
  10. 雅虎(ycsb)测试hbase(压测)