6

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

我已经 npm 安装了 axios 和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();
4

2 回答 2

2

尝试其中一种,看看它是否有效:

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

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

于 2016-09-26T07:43:38.233 回答
2

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

于 2020-09-08T10:03:34.153 回答