zoukankan      html  css  js  c++  java
  • 在Node中使用ES7新特征——async、await

    async与await两个关键字是在ES7中添加的新特征,旨在更加直观的书写异步函数,避免出现callback hell。

    callback hell是什么?

    readFileContents("a.txt", function (a){
         readFileContents("b.txt", function (b){
               writeFileContents("ab.txt", a + b, function(){
                   console.log("we are done");
               });
         });
    }); 
    

      

    上方代码即为callback hell,简单的逻辑当我们用异步编程方式书写出来时,会变得非常难以理解以及维护。现在看上去或许情况不是那么的糟糕,但是当异步数量相当大的时候,维护代码简直会是一场灾难。

    为了防止这种情况的出现,ES7新增了async、await关键字。那么他们的作用是什么呢?

    简而言之:

    • async关键字用于函数声明之前,表示该函数为async函数,await只能在async函数内部使用,否则会报错
    • await关键字用在调用函数之前,表示调用的函数是一个异步函数,该函数一般会返回一个Promise对象,await在等待返回数据之后再往下执行。如果等待的函数返回的不是一个Promise对象,那么await关键字会失效。
  • 相关阅读:
    Vue表单输入绑定(文本框和复选框)
    Vue登录方式的切换
    IDEA导包(以junit为例)
    反射相关类
    dom4j加载xml文件
    Vue购物车
    IDEA基本设置和快捷键大全
    react组件间的通信-父子通信,子父通信,兄弟通信
    react受控组件
    react中数据承载--props和state用法
  • 原文地址:https://www.cnblogs.com/DM428/p/8448262.html
Copyright © 2011-2022 走看看