ES6 promise

promise是一个构造函数 自己身上有all reject resolve 这几个眼熟的方法 原型上有then catch等同样很眼熟的方法

new一个

var p=new promise(function(resolve,reject){
setTimeout(function(){
        console.log('执行完成');
        resolve('随便什么数据');
    }, 2000);
})

  promise的构造函数接受一个参数,是函数,并且传入两人参数resolve, reject 异步操作执行成功后和异步操作执行失败后的回调函数,resolve是将Promise的状态置为fullfiled,reject是将Promise的状态置为rejected。

上面代码执行一个异步操作,setTimeout 2秒后,输出“执行完成”并且调用resolve方法

代码运行2s输出执行完成 注意我们只是new一个对象,并没有调用它,我们传进去的函数就已经执行了,这是需要注意的细节 所以我们promise时候一般包在一个函数中,在需要的时候进行这个函数

function runAsync(){
    var p = new Promise(function(resolve, reject){
        //做一些异步操作
        setTimeout(function(){
            console.log('执行完成');
            resolve('随便什么数据');
        }, 2000);
    });
    return p;            
}
runAsync()

  https://www.cnblogs.com/whybxy/p/7645578.html

posted @ 2018-08-28 19:27  asss1  阅读(108)  评论(0编辑  收藏  举报