promise.prototype.finally 的 Axios 不起作用

Axios with promise.prototype.finally doesn't work

不确定我错过了什么。按照此处的说明进行操作:https://github.com/mzabriskie/axios/blob/master/COOKBOOK.md

我已经安装了 axios 和 npm npm install axios promise.prototype.finally --save

我正在使用 Gulp 和 Browserify。

var axios = require('axios');
require('promise.prototype.finally');

axios.get('http://google.com').finally(function(){
    console.log('test');
});

错误:

app-7ee90adab7.js:18780 Uncaught TypeError: axios.get(...).finally is not a function

更新: 这使它工作,但我需要这样做吗?

var promiseFinally = require('promise.prototype.finally');
promiseFinally.shim();

尝试其中一种方法看看是否有效:

  1. 看看你有没有全局的 Promise 可以用来填充它?当 browserify 是 运行 包时,在 chrome 控制台中输入 Promise。如果没有,请使用 Babel 或使 es6 或 Promise 可用的库。

  2. 如果由于某种原因它不起作用...好吧 axios cookbook.md 没有做对,因为你必须调用 shim() 才能将它应用到 promise proto .如果你不喜欢那样,为什么不使用 shorthand require('promise.prototype.finally').shim();,否则你必须 require('es6-shim');

仅供参考 https://github.com/axios/axios/issues/34#issuecomment-558869934 axios 支持 .finally().