async/await

async function声明将定义一个返回 AsyncFunction 对象的异步函数。

当调用一个async function时,会返回一个Promise对象。当这个 async 函数返回一个值时,Promise 的 resolve 方法会负责传递这个值;当 async 函数抛出异常时,Promise 的 reject 方法也会传递这个异常值。

一般来说await用来等待Promise对象,但它实际可以等待任意表达式的结果,所以,await 后面实际是可以接普通函数调用或者直接量的。await 关键字仅仅在 async function中有效。如果在 async function函数体外使用 await ,你只会得到一个语法错误(SyntaxError)。

async/await的具体使用场景是需要将多个异步函数同步执行时,将异步函数使用Promise对象包装,在async函数中使用await关键词调用,这样可使异步函数按照声明的顺序执行。同时,因为函数使用async关键词修饰,调用函数本身仍然是异步方法,即将多个异步方法合并为一个异步方法。

实际工作中用到的场景:

Promise的最佳实践:

Promise.all()方法将同时发出多个请求,等待耗时最长的异步方法执行完成时返回。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容