Promise

来源:互联网 发布:java 工厂模式 编辑:程序博客网 时间:2024/06/04 18:22

promise就是一个对象,用来传递异步操作的消息,它代表未来才会知道的结果。
它有两个特点
(1)对象状态不受外界影响。3种状态(进行中pending,已完成resolved,已失败rejected)
(2)一旦状态改变就不会再变。状态改变只有两种可能(pending->resolved,pending->rejected)
缺点
(1)无法取消
(2)不设置回调函数,内部错误不会反应到外部
(3)处于pending状态无法得知进展到哪里

使用例子

        //一般不这么用        promise.then((value) => {            //success        }, (error) => {            //fail            //第二个参数可选        }).done();        //推荐        promise.then((value) => {            //success        }).catch((error) => {        }).done();    //ES7中的异步    async myFunction() {//---async表示函数里面有异步操作        try {//最好加try catch            var symbol = await this.myStep();//---await后面的表达式需要等待操作结果        } catch (err) {        }    }

参考文献:http://mp.weixin.qq.com/s?__biz=MzIyMzAwNzExNg==&mid=209354478&idx=1&sn=edd70e826b6f9e8a570024f431c5f7fe&scene=1&key=c76941211a49ab58efed75a0405e3ca61338952103fe9eabf8528d801906e4522737274eecca5489d635a5c1aa5d8b12&ascene=0&uin=MTYxMDY3MjU1&devicetype=iMac+MacBookPro11%2C3+OSX+OSX+10.10.4+build(14E46)&version=11020113&pass_ticket=ws1Ar8vSXgH8%2FuRvUaFkiKCA57pR8100%2BhwA5Ifuc00%3D

原创粉丝点击