我想知道是否可以设置每3秒触发功能的时间间隔。假设我的应用程序中有5个不同的屏幕,所有5个屏幕都设置为3秒,并且将继续调用函数以自动刷新屏幕。
我担心的是,如果有多个用户同时使用该应用程序,并且服务器将继续接收到应用程序的请求?
示例代码:
componentDidMount(){
this.interval = setInterval(() => {
this.loadCase()
}, 3000);
}
componentWillUnmount(){
clearInterval(this.interval);
}
loadCase(){
CaseController.loadCase().then(data=>{
if(data.status == true){
this.setState({ case: data.case })
}
})
}
如果您有一个API端点,则需要每3秒进行一次轮询,并且您希望避免使用该应用程序的冗余呼叫,请尝试使用app.js中的setInterval
或任何地方您的应用程序的根源是,并将结果转移到您正在使用的任何状态管理解决方案中,以便您可以在其他地方访问它。
要回答您有关"流量繁忙"的问题,是的,这将不可避免地会成为服务器需要处理的很多API调用。如果它会引起当前API服务器设置的问题,我会仔细查看您的应用程序,看看是否有一种方法可以减少大量用户会产生的效果,无论是某种缓存还是增加API调用之间的时间或完全重新考虑此方法。