Async/await

来源:互联网 发布:淘宝开店考试答案2015 编辑:程序博客网 时间:2024/06/09 15:39

async/await
Node.js 7.6已经支持async/await了,现在社区上的版本是6.11.3
Promise.all()把多个promise对象包装成一个新的promise实例,这样写的好处是在用then方法的时候可以统一用一个变量来表示几个promise实例。

异步方法:用promise写法和async写法的区别是:
1. async函数会隐式地返回一个promise 对象,该promise的reosolve值就是函数return的值
2. await关键字只能用在async定义的函数内
3. 我们不需要写.then,
4. 不需要写匿名函数处理Promise的resolve值,
5. 也不需要定义多余的data变量,
6. 还避免了嵌套代码。
7. 可以同时处理同步和异步错误,之前的写法同步和异步要分开处理。
8. 需要获取数据,然后根据返回数据决定是直接返回,还是继续获取更多的数据。
使用Promise 有多层嵌套,如果使用async await则能够像写同步代码一样写异步代码,非常简洁和易读。
9. 调试非常方便,在promise的then中没有办法设置断点,但是使用await 可以轻易地设置断点。
为什么使用:async/await https://blog.fundebug.com/2017/04/04/nodejs-async-await/