當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Promise finally()用法及代碼示例


Promise對象的finally()方法用於在Promise結算(即已實現或拒絕)時返回Promise。 Promise是一個JavaScript對象,它在異步函數成功執行後生成一個值。如果由於超時而無法成功執行,則會生成錯誤。

一旦兌現了承諾,它就可以用來執行清理任務,因為無論承諾是被實現還是被拒絕,它始終都會執行。它還可以防止Promise的then()和catch()方法中的代碼重複。

用法:

task.finally(function() {
  // Task to be performed when
  // the promise is settled 
});

參數:該方法具有上述和以下描述的單個參數:

  • onFinally:當解決Promise時將調用該函數。

返回值:它返回一個Promise,其最終處理程序設置為指定的函數。



下麵的示例演示了finally()方法:

例:

Javascript

// Define the Promise 
let task = new Promise((resolve, reject) => { 
  setTimeout(() => { 
  
    // Reject the Promise 
    reject("Promise has been rejected!"); 
  }, 2000); 
}); 
  
task 
  .then( 
    (data) => { 
      console.log(data); 
    }, 
  
    // Handle any error 
    (error) => { 
      console.log("Error:", error); 
    } 
  ) 
  
  // Specify the code to be executed  
  // after the Promise is settled 
  .finally(() => { 
    console.log( 
      "This is finally() block that is " + 
      "executed after Promise is settled"
    ); 
  });

輸出:

Error:Promise has been rejected!
This is finally() block that is executed after Promise is settled

相關用法


注:本文由純淨天空篩選整理自naman9071大神的英文原創作品 JavaScript Promise finally() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。