日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在promise中then和finally有什么區(qū)別

看上去 promise.prototype.then() 和 promise.prototype.finally 似乎非常相似。但是你需要明白它們有一些重要的差異。

創(chuàng)新互聯(lián)建站成立于2013年,我們提供高端成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、網(wǎng)站定制、成都全網(wǎng)營銷推廣微信小程序、微信公眾號開發(fā)、seo優(yōu)化排名服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計、程序開發(fā)來完成項目落地,為成都葡萄架企業(yè)提供源源不斷的流量和訂單咨詢。

第一個也最明顯的是 finally() 沒有得到 promise 鏈的結(jié)果。由于 finally() 沒有收到值,因此無法更改 promise 的已解決值。

 
 
 
  1. new Promise((resolve, reject) => resolve(10)) 
  2.   .then(x => { 
  3.     console.log(x); // 10 
  4.     return x + 1; 
  5.   }) 
  6.   .finally(x => { 
  7.     console.log(x); // undefined 
  8.     return x + 2; 
  9.   }); 
  10. // Promise resolves to 11, the return value of then() 

另一個差異與錯誤處理以及如何解決 promise 鏈有關(guān)。有時,您可能想要推遲捕獲 promise 鏈中的錯誤,從而允許你在其他地方處理。在這種情況下,promise 鏈的 then() 將不會被執(zhí)行,而 finally() 會。并且如果上一個 catch() 拋出,你最終會處于相同的情形之下。

 
 
 
  1. new Promise((resolve, reject) => reject(0)) 
  2.   .catch(x => { 
  3.     console.log(x); // 0 
  4.     throw x; 
  5.   }) 
  6.   .then(x => { 
  7.     console.log(x); // 將不會執(zhí)行 
  8.   }) 
  9.   .finally(() => { 
  10.     console.log('clean up'); // 'clean up' 
  11.   }); 
  12. // Uncaught (in promise) 0 

這里的重點是,除非有非常特殊的原因,否則不應(yīng)該替換 then() 和 finally()。 根據(jù)經(jīng)驗,finally() 應(yīng)該用于清理(清除超時,使引用為空,重置 UI 狀態(tài)等)。


名稱欄目:在promise中then和finally有什么區(qū)別
網(wǎng)址分享:http://www.5511xx.com/article/coiscpi.html