js 异步代码

  这段时间一直在用node.js做毕设的后台,所以需要一些异步代码操作,主要的异步方式有:Promise、Generator 和 async / await,但下面主要讲 Promise 和 async / await 。

一、Promise

1、Promise表示一个异步操作的最终结果,可以理解为状态机,它有三种状态

(1)Pending:表示还在执行

(2)Fullfilled(或者resolved):执行成功

(3)Rejected:执行失败

2、Promise 的构造函数

var promise = new Promise(function (resolve,reject){
    if(/*异步操作成功*/){
        resolve(value);
    }else{
        reject(value);
    }
});

代码例子如下:

3、使用then方法获取结果

  then方法接受两个匿名函数作为参数,它们代表onResolved 和 onRejected 函数。value 和 error参数代表回调的结果,如下所示:

二、async / await

  async 函数总是会返回一个Promise对象,如果return 关键字后面不是一个Promise,那么默认调用promise.resolve 方法进行转换。对于async 函数来说,await关键字不是必需的,await 关键字可以“自动执行”一个Promise ,获得结果。如果async函数有多个await 要执行,它会顺序执行 这些Promise对象。如下所示:

猜你喜欢

转载自www.cnblogs.com/threepigs/p/10574868.html