1. 程式人生 > >promise的finally方法

promise的finally方法

參考文件

  1. promise-finally學習

問題來源

在做移動app開發的時候,需要每次傳送請求,都會有‘菊花’提示,請求傳送完畢,就需要關閉loading提示框,不然介面就無法被點選。但是請求有的是成功、有的失敗、有的超時,為了不影響整個系統的正常使用,就需要強制關閉提示框,正好利用promise的finally來關閉提示框

案例

var promise = new Promise(function(resolve, reject) {
    console.log("promise")
    window.setTimeout(function
(){ if (false){ resolve('huangbiao'); } else { debugger reject('error'); } },1000) }).then(function(){ console.log('success'); }).catch(function(){ console.log('catch'); }).finally(function(){ console.log('finally'); });

結果
error
catch
finally

知識點

不管promise最後的狀態,在執行完then或catch指定的回撥函式以後,都會執行finally方法指定的回撥函式。