摘要:分钟读完以前我们使用。把异步变成了同步。允许同时执行所有的异步函数函数总耗时为秒的耗时。的错误处理在语法中,我们可以使用进行错误处理。在中的分支会进入语句。阅读原文讨论地址分钟学会的如果你想参与讨论,请点击这里
1 分钟读完 JavaScript Async/Await Explained in 10 Minutes
以前我们使用 callback。
后来我们使用 Promise。
现在我们使用 Async/Await。
1、什么是 Async/Await?Async - 定义异步函数(async function someName(){...})
自动把函数转换为 Promise
当调用异步函数时,函数返回值会被 resolve 处理
异步函数内部可以使用 await
Await - 暂停异步函数的执行 (var result = await someAsyncCall();)
当使用在 Promise 前面时,await 等待 Promise 完成,并返回 Promise 的结果
await 只能和 Promise 一起使用,不能和 callback 一起使用
await 只能用在 async 函数中
2、Async/Await 是否会取代 Promise不会。
Async/Await 底层依然使用了 Promise。
多个异步函数同时执行时,需要借助 Promise.all
async function getABC() { let A = await getValueA(); // getValueA 花费 2 秒 let B = await getValueB(); // getValueA 花费 4 秒 let C = await getValueC(); // getValueA 花费 3 秒 return A*B*C; }
每次遇到 await 关键字时,Promise 都会停下在,一直到运行结束,所以总共花费是 2+4+3 = 9 秒。await 把异步变成了同步。
async function getABC() { // Promise.all() 允许同时执行所有的异步函数 let results = await Promise.all([ getValueA, getValueB, getValueC ]); return results.reduce((total,value) => total * value); }
函数总耗时为 4 秒(getValueB 的耗时)。
3、Async/Await 的错误处理在 Async/Await 语法中,我们可以使用 try/catch 进行错误处理。在 Promise 中的 .catch() 分支会进入 catch 语句。
阅读原文:JavaScript Async/Await Explained in 10 Minutes
讨论地址:10 分钟学会 JavaScript 的 Async/Await
如果你想参与讨论,请点击这里
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/89438.html
摘要:的翻译文档由的维护很多人说,阮老师已经有一本关于的书了入门,觉得看看这本书就足够了。前端的异步解决方案之和异步编程模式在前端开发过程中,显得越来越重要。为了让编程更美好,我们就需要引入来降低异步编程的复杂性。 JavaScript Promise 迷你书(中文版) 超详细介绍promise的gitbook,看完再不会promise...... 本书的目的是以目前还在制定中的ECMASc...
摘要:异步过程控制了解异步的意义之后,我们来对比目前主流几种异步过程控制方法,探讨一下异步编程的最佳实践。结语希望本文对大家有点帮助,能更深刻的理解异步编程,能写出更优雅更高效的代码。 同步和异步(Synchronous and Asynchronous) 了解javascript的同学想必对同步和异步的概念应该都很熟悉了,如果还有不熟悉的同学,我这里举个形象的例子,比如我们早上起床后要干三...
摘要:译者按技巧虽好重在掌握并使用起来原文译者为了保证可读性,本文采用意译而非直译。从数组中移除重复元素中,有了集合的语法。自从年双十一正式上线,累计处理了亿错误事件,得到了金山软件等众多知名用户的认可。 译者按: 技巧虽好、重在掌握并使用起来! 原文: Learn these neat JavaScript tricks in less than 5 minutes 译者: Funde...
阅读 2815·2023-04-25 20:06
阅读 1432·2021-08-26 14:15
阅读 2186·2021-08-12 13:27
阅读 1747·2019-08-30 15:55
阅读 3433·2019-08-30 13:20
阅读 2806·2019-08-29 15:12
阅读 3312·2019-08-29 15:06
阅读 2838·2019-08-29 14:13