ES6中的Promise相关知识简述

Promise是抽象异步处理对象以及对其进行各种操作的组件。它把异步处理对象和处理规则进行规范化,并按照采用统一的接口来编写,而采用规定方法之外的写法都会出错。
ES6原生提供了Promise对象。我们来看一下Promise的用法

promise用法

首先创建一个promise对象,创建promise对象的流程如下
1 new Promise(fn)返回一个promise对象,fn中传递两个参数,分别为resolve和reject
2 在fn中根据不同的情况条用resolve和reject: 处理结果正常的话 调用resolve(处理结果值),处理结果错误的话 调用reject(Error对象)

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

promise.then(function(value){
    //success
},function(value){
    //failure
})

上述代码中,Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolve方法和reject方法。这里需要说明一下promise对象的状态。promise只有三种状态,分别为未完成态、完成态和失败态。这三种状态的变化时不可逆的,不能强制修改的,未完成态可以转变为完成态或失败态 ,而完成态和失败态不能转变为未完成态,并且完成态和失败态之间不能相互转化。当promise对象由未完成态转变为完成态时,执行resolve函数;当promise对象由未完成态转变为失败态时, 执行reject函数。
下面是利用promise实现三个球的连续运动




你可能感兴趣的:(nodeJS)