小编Reg*_*yes的帖子

Axios只在内部自调用函数中调用一次(Internet Explorer)

我有一个函数,每2.5秒调用一次,以检查后台运行的任务.get如果响应是错误,它会将axios调用到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
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer reactjs axios

6
推荐指数
1
解决办法
3888
查看次数

标签 统计

axios ×1

internet-explorer ×1

javascript ×1

reactjs ×1