ES6關於promise技巧

2021-10-04 11:42:37 字數 2534 閱讀 5006

1.推向promise物件推向 不同的狀態

const pro =

newpromise

((resolve,reject)

=>

)

2.原型成員(例項成員)

註冊乙個後續處理函式,當promise為resolved狀態是執行該函式,當promise為rejected狀態是執行該函式的第二個引數

catch() 註冊乙個後續處理函式,當promise為rejected狀態是執行該函式,習慣把失敗寫在catch中

finally() es2018出來的,沒有引數的,當promise為已決時執行該函式

const pro =

newpromise

((resolve,reject)

=>

) pro.

finally((

)=>

) pro.

then

(result =>

)

3.建構函式成員(靜態成員)

resolve()

const pro = promise.

resolve(1

)//等同於

const pro =

newpromise

((resolve,reject)

=>

)reject()

const pro =

newpromise

((resolve,reject)

=>

)const pro = promise.

reject(1

)// 特殊情況:如果傳遞的是promise,則直接返回傳遞的promise物件

const pro =

newpromise

((resolve,reject)

=>

)const pro2 = promise.

resolve

(pro)

console.

log(pro,pro2)

console.

log(pro2 === pro)

4.all(arr)這個方法會返回乙個新的promise物件,如果裡面所有的promise物件都成功才會觸發,一旦有乙個失敗,則該promise物件為失敗

const proms =

;for

(let i =

0;i <

10;i ++

)else},

1000)}

))}// 所有的都成功才為成功,只要有乙個失敗,就失敗

const pro = promise.

all(proms)

; pro.

then

(data =>

) pro.

catch

(err =>

)

5.race(arr) 當引數中的任意乙個promise物件完成時候,就馬上回去使用完成的這個promise物件的結果,不管這個結果成功還是失敗

function

getrandom

(min,max)

const proms =

;for

(let i =

0;i <

10;i ++

)else},

getrandom

(1000

,5000))

}))}

const pro = promise.

race

(proms)

; pro.

then

(data =>

) pro.

catch

(err =>

)

6.async await 為了去簡化promise的寫法的(結合生成器來簡化promise的操作)

// 簡化promise建立的

function

test()

)}

7.await 等待(await關鍵字必須出現在async函式中)

function

test1()

)}function

test2()

)})}

test2()

// 等同於

async

function

test1()

async

function

test2()

test2()

//如果await後面不是乙個promise物件

async

function

test()

// 等同於

function

test()

)})}

test()

console.

log(

"asdf"

)

ES6關於Promise的用法

含義 promise 物件用於乙個非同步操作的最終完成 或失敗 及其結果值的表示。簡單點說,它就是用於處理非同步操作的,非同步處理成功了就執行成功的操作,非同步處理失敗了就捕獲錯誤或者停止後續操作。new promise executor function resolve,reject else 我...

使用ES6模擬Promise

const promise newstatus param newvalue param queue 執行的作業佇列 changestatus newstatus,newvalue,queue this promisestatus newstatus this promivevalue newval...

ES6 學習 Promise物件

1.promise含義 可以將promise物件看成是乙個容器,它儲存著未來才會結束的某個事件 一般是非同步操作事件 的結果,各 種非同步操作都可以用promise物件來處理 promise的特點 1 promise物件有三個狀態 pending 進行中 fulfilled 已成功 和rejecte...