當我們執行一個
promise
操作時,往往伴隨的是要做各種狀態的修改(如請求開始時顯示
loading
,結束時隱藏
loading
), 這個狀態修改,如果沒有
finally
函數,我們需要在
then
和
catch
中都寫入這段代碼,但是有了
finally
函數,我們只需要把這段代碼寫入函數中即可,因為
finally
函數中的邏輯,請求完成之后無論是成功失敗都會被執行
如何支持
安裝包 promise.prototype.finally
npm i promise.prototype.finally -S
再引入該依賴包:main.js
... require('promise.prototype.finally').shim(); new Vue({ ... })
HTTP請求庫使用axios,Promise對象有一個finally方法,但是在低版本瀏覽器不支持,所以需要引入對應的polyfill
先安裝promise.prototype.finally包
npm install promise.prototype.finally --save
然后在vue項目中需要用到finally的文件中引入
import promiseFinally from 'promise.prototype.finally'; promiseFinally.shim();
axios不支持finally的解決辦法 - 簡書
https://www.jianshu.com/p/04e6d9f77d3b
讓 axios 支持 finally - 懶懶de尐彪 - 博客園
https://www.cnblogs.com/luobiao/p/11344469.html
(37條消息)axios不支持finally的解決辦法_justforuse的博客-CSDN博客_axios finally
https://blog.csdn.net/u014291497/article/details/80788377