原文:Async/Await替代Promise的6个理由 作者:KiwenLau 转自:https://kiwenlau.com/2017/04/01/nodejs-async-await/ Async/Await替代Promise的6个理由 译者按: Node.js的异步编程方式有效提高了应用性能;然而回调地狱却让人望而生畏,Promise让我们告别回调函数,写出更优雅的异步代码;在实践过程中,却发现Promise并不完美;技术进步是无止境的,这时,我们有了Async/Await。 原文: 6 Reasons Why JavaScript’s Async/Await Blows Promises Away 译者: Fundebug 为了保证可读性,本文采用意译而非直译。 Node.js 7.6已经支持async/await了,如果你还没有试过,这篇博客将告诉你为什么要用它。 Async/Await简介 对于从未听说过async/await的朋友,下面是简介: async/await是写异步代码的新方式,以前的方法有回调函数和Promise。 async/await是基于Promise实现的,它不能用于普通的回调函数。 async/await与Promise一样,是非阻塞的。 async/await使得异步代码看起来像同步代码,这正是它的魔力所在。 Async/Await语法 示例中,getJSON函数返回一个promise,这个promise成功resolve时会返回一个json对象。我们只是调用这个函数,打印返回的JSON对象,然后返回”done”。 使用Promise是这样的: const makeRequest = () => getJSON() .then(data => { console.log(data) return “done” }) makeRequest() 使用Async/Await是这样的: const makeRequest = async () => { console.log(await getJSON())… Continue Reading 【转载】Async/Await替代Promise的6个理由