当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。