JavaScript Promise的使用
阿新 • • 發佈:2021-06-11
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等
鏈式呼叫等