码迷,mamicode.com
首页 > Web开发 > 详细

JS promise

时间:2017-01-12 02:28:53      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:使用   方式   code   color   on()   com   失败   end   value   

1.Promise是什么?

Promise是抽象异步处理对象以及对其进行各种操作的组件。

 

2.实例化

使用new来调用Promise的构造器来进行实例化

var promise = new Promise(function(resolve, reject) { // 异步处理 // 处理结束后、调用resolve 或 reject });

 

3.实例方法

promise.then(onFulfilled, onRejected)

resolve时 onFulfilled 会被调用
reject时 onRejected 会被调用

 

4.静态方法

Promise.all()

Promise.resolve()

例子:

function asyncFunction() {
    
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve(‘Async Hello world‘);
        }, 16);
    });
}

asyncFunction().then(function (value) {
    console.log(value);    // => ‘Async Hello world‘
}).catch(function (error) {
    console.log(error);
});

 

5.Promise的状态

Fulfilled 成功

Rejected 失败

Pending 既不是resolve也不是reject的状态

 

6.new Promise的快捷方式

Promise.resolve(value)

Promise.resolve(42);

相当于

new Promise(function(resolve){
    resolve(42);
});

//resolve(42); 会让这个promise对象立即进入确定(即resolved)状态,并将 42 传递给后面then里所指定的 onFulfilled 函数。

Promise.resolve(42).then(function(value){
    console.log(value);
});

Promise.reject(value) 同理

 

7.promise.catch

promise.catch() 相当于 promise.then(undefined, onRejected);

 

参考:http://liubin.org/promises-book/

JS promise

标签:使用   方式   code   color   on()   com   失败   end   value   

原文地址:http://www.cnblogs.com/lzs-888/p/6274235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!