Javascript 我想使用componentWillUnmount clearTime和setTimeout在一段时间间隔内重新读取api中的数据
重新蚀刻数据而不在一定时间间隔内重新加载页面Javascript 我想使用componentWillUnmount clearTime和setTimeout在一段时间间隔内重新读取api中的数据,javascript,reactjs,Javascript,Reactjs,重新蚀刻数据而不在一定时间间隔内重新加载页面 构造函数(道具){ 超级(道具); 此.state={ taskExecutions:null, 总计:空, 每页:空, 当前页面:0 }; 这是有效期=5000; } componentDidMount(){ 这个.makeHttpRequestWithPage(0,4); } 组件将卸载(){ clearTimeout(this.intervalID); } makeHttpRequestWithPage=async(页码、大小页)=>{ if(
构造函数(道具){
超级(道具);
此.state={
taskExecutions:null,
总计:空,
每页:空,
当前页面:0
};
这是有效期=5000;
}
componentDidMount(){
这个.makeHttpRequestWithPage(0,4);
}
组件将卸载(){
clearTimeout(this.intervalID);
}
makeHttpRequestWithPage=async(页码、大小页)=>{
if(sizePerPage response.json())
。然后(数据=>{
这是我的国家({
任务执行:data.content,
总计:data.totalPages,
每页:data.size,
当前页面:data.number
});
this.intervalID=setTimeout(this.makeHttpRequestWithPage(this.state.current_page,this.state.per_page).bind(this),8000);
});
}
render(){/*..*/}
我从api获取数据,但8秒后,我出现以下错误:
未捕获(承诺中)类型错误:this.makeHttpRequestWithPage(…)。绑定不是函数
我希望数据在8秒钟后自动刷新,您正在调用
.bind
,返回值为this.makeHttpRequestWithPage
,该函数不返回任何内容。在任何情况下,您都不需要为此绑定,因为您已将makeHttpRequestWithPage
定义为一个箭头函数。我已删除了.bind(此),但我得到了一个带有以下日志的无限循环:Uncaught SyntaxError:Unexpected identifier setTimeout(async)(匿名)Promise.then(async)TaskExecutionList.makeHttpRequestWithPage(匿名)使用,…setTimeout(()=>this.makeHttpRequestWithPage(this.state.current\u page,this.state.per\u page)
或…setTimeout(this.makeHttpRequestWithPage.bind(this,this.state.current\u page,this.state.per\u page)