ES6语法—Async && Await

  1. 一、Async/Await怎么用(如何通过同步的方式实现异步)?
  2. 二、Async/Await优点:
  3. 三、Async/Await缺点:
  4. 四、Async/Await如何捕获异常?

一、Async/Await怎么用(如何通过同步的方式实现异步)?

async 作为一个关键字放到函数前面,表示这个函数是一个异步函数,因为 async 就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行。

await 是等待的意思,用于等待一个异步方法执行完成,await 关键字只能放到 async 函数里面。

function takeLongTime() {
    return new Promise(resolve => {
        setTimeout(() => resolve("long_time_value"), 1000);
    });
}

async function test() {
    const v = await takeLongTime();
    console.log(v);
}

test();

二、Async/Await优点:

async / await 的优势在于处理 then 的调用链,能够更清晰准确的写出代码(更像同步函数),并且也能优雅地解决回调地狱问题。


三、Async/Await缺点:

await 将异步代码改造成了同步代码,如果多个异步代码没有依赖性却使用了 await 会导致性能上的降低。


四、Async/Await如何捕获异常?

try / catch 可以捕获异常:

async function test(){
    try{
        const res=await test1()
        }catch(err){
            console.log(err)
        }
    console.log("test")
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 848130454@qq.com

文章标题:ES6语法—Async && Await

文章字数:319

本文作者:Spicy boy

发布时间:2019-07-01, 17:56:23

最后更新:2021-03-30, 16:05:01

原始链接:http://www.spicyboy.cn/2019/07/01/ES6%E8%AF%AD%E6%B3%95%E2%80%94Async%20&&%20Await/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏