Promise.finally()
finally()方法用來制定不管Promise對象最后狀態如何,都會執行的操作
實例:
promise
.then( result => {…} )
.catch( error => {…} )
.finally(()=> {…});
不管上面promise最后的狀態,在執行完then或catch制定的回調函數以后,都會執行finally方法指定的回調函數
finally方法的回調函數不接受任何參數,這意味着沒有辦法知道,前面的promise狀態到底是fulfilled(成功)還是rejected(失敗),這表明,finally方法里面的操作,應該是與狀態無關的,不依賴與promise的執行結果
finally()的實現原理無非就是無論then后面成功還是失敗,兩種情況各寫一次,這樣的話promise是fulfilled還是rejected,都會執行准備好的回調函數