框架项目用axios调用接口时,我们常用:
-
接口名().then(result=>{
-
do sth...
-
}).catch(()=>{
-
do sth...
-
}).finally(()=>{
-
do sth...
-
})
却会遇到这个问题:
-
fName(...).then(...).catch(...).finally is not a function
-
造成此问题的原因为:浏览器版本太低
除了升级最新版浏览器(火狐甚至升级后还报错),解决办法如下:
-
安装 promise.prototype.finally 包
-
npm i promise.prototype.finally
最后记得在 main.js 里引入该依赖包:
require('promise.prototype.finally').shim();
也可以用bluebird代替Promise 运行npm install bluebird进行安装 之后在代码中写入window.Promise = require('bluebird')即可