【发布时间】:2018-01-31 12:01:56
【问题描述】:
我有一个函数,它每 2.5 秒调用一次,以检查后台运行的任务。如果响应错误,它会调用axios到get一个url,如果响应成功,我停止函数。
这在 Chrome 和 Mozilla 中完美运行,但由于某种原因它在 IE(版本 11)中无法运行。该函数无限调用自身,但查看日志显示它只调用 axios 一次,然后它有res.data.err == "Task not ready" 永远循环,即使后端的任务已经完成。
为什么不能在 IE 上再次调用 axios?我有什么遗漏吗?
checkProgress() {
axios.get(url.CHECK_UPLOAD_TASK, { params: { id: this.state.taskID} }).then(res => {
if(res.data.success){
this.setState({loading: false});
//do something if successfully finished task
} else {
if(res.data.err == "Task not ready") {
setTimeout(() => {
this.checkProgress();
},2500);
} else {
this.setState({loading: false});
// do something if task had an error
}
}
});
}
【问题讨论】:
-
哪个版本的IE?谢谢。
-
@jkris 版本 11
标签: javascript reactjs internet-explorer axios