promise的finally方法
阿新 • • 發佈:2018-11-27
參考文件
問題來源
在做移動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方法指定的回撥函式。