Promise實例的finally方法


Promise.prototype.finally()

 

finally( )方法用於指定不管Promise對象最后狀態如何,都會執行的操作,不管promise最后的狀態,在執行完 then或catch指定的回調函數以后,都會執行finally方法指定的回調函數。

promise
.then(result => {···})
.catch(error => {···})
.finally(() => {···});

   finally方法的回調函數不接受任何參數,這意味着沒有辦法知道,前面的 Promise 狀態到底是fulfilled還是rejected。這表明,finally方法里面的操作,應該是與狀態無關的,不依賴於 Promise 的執行結果。

 

 finally方法本質上是then方法的特例,

promise
.finally(() => {
  // 語句
});

// 等同於
promise
.then(
  result => {
    // 語句
    return result;
  },
  error => {
    // 語句
    throw error;
  }
);

     上面代碼中,如果不使用finally方法,同樣的語句需要為成功和失敗兩種情況各寫一次。有了finally方法,則只需要寫一次。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM