JS promise

1.Promise是什麼?promise

Promise是抽象異步處理對象以及對其進行各類操做的組件。異步

 

2.實例化async

使用new來調用Promise的構造器來進行實例化函數

var promise = new Promise(function(resolve, reject) { // 異步處理 // 處理結束後、調用resolve 或 reject });spa

 

3.實例方法code

promise.then(onFulfilled, onRejected)對象

resolve時 onFulfilled 會被調用
reject時 onRejected 會被調用blog

 

4.靜態方法io

Promise.all()console

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/

相關文章
相關標籤/搜索