在做移動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方法指定的回調函數。