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关键字会失效。
  • 相关阅读:
    上传文件(一)
    momentjs
    asp.net中session的原理及应用
    聊天程序(基于Socket、Thread)
    接口与抽象类
    asp.net 发送邮件
    Web.Config文件详解
    Apache Sqoop
    HBase 数据模型(Data Model)
    HBase框架学习之路
  • 原文地址:https://www.cnblogs.com/DM428/p/8448262.html
Copyright © 2011-2022 走看看