【发布时间】:2018-12-25 12:15:02
【问题描述】:
我正在尝试将一堆 axios 调用移动到一个单独的实用程序文件,以便我可以共享它们并避免到处重写相同或相似的 axios 调用。
但是,我不知道如何做到这一点,并且仍然利用调用的 then 和 catch 部分,我在其中执行独特的操作,例如更新状态和/或变量。
这是我使用的一个 axios 调用,我的应用程序中对此有类似的变化:
axios({
method: "post",
url: `/api/PlanetTime/Battle/${this.props.levelId}/files/upload`,
data: bodyFormData,
config: {
headers: { "Content-Type": "multipart/form-data" }
}
})
.then(response => {
let newFile = response.data[response.data.length - 1];
this.props.onUploadEnd(response.data);
this.setState({
selectedFile: null,
file: null
});
})
.catch(response => {
console.log("upload error!");
});
那么有没有办法进行这样的 axios 调用,但让它更通用,以便我可以接受不同的 url、数据等,并且仍然可以利用调用的 then 部分?
【问题讨论】:
标签: javascript ecmascript-6 promise axios