1. 程式人生 > 其它 >JavaScript Promise的使用

JavaScript Promise的使用

語法:

 new Promise((resolve, reject)=>{})
new Promise(function(){})

Promise也是非同步的結果,promise有三個階段 pending、fulfilled、rejected。promise只有兩種結果pending變為fulfilled或者rejected.狀態已經發生稱 resolved

基本用法:

const promise = new promise(function(resolve, reject){
    if(/* 非同步操作成功 */){
        resolve(value)
    }else
{ reject(error) } })
promise.then(function(value){
    //success
}else{
    // false
})
const p = new Promise((resolve, reject)=>{
    //resolve('失敗的結果')
    reject('失敗的結果')
})

p.then(()=>{
    console.log('成功時呼叫')
}, () =>{
    console.log('失敗時呼叫')
})
console.dir(p)
// 如果then寫在Promise後面並且呼叫resolve()則不會執行第一個then
const p1 = new Promise(function (resolve, reject) {
  // ...
});

const p2 = new Promise(function (resolve, reject) {
  // ...
  resolve(p1);
})

這時p1的狀態就會傳遞給p2 ,

Promise有原型 then、finnal、all等

鏈式呼叫等