我想知道是否可以设置每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 })
}
})
}
答案 0 :(得分:0)
如果您有一个API端点,需要每3秒进行一次轮询,并且希望避免从应用程序中重复调用,请尝试在App.js或应用程序根目录中的任何地方使用setInterval
是,并将结果转储到您正在使用的Redux /任何状态管理解决方案中,以便您可以在其他位置访问它。
要回答有关“交通繁忙”的问题,是的,这不可避免地需要服务器处理许多API调用。如果这将导致您的API服务器的当前设置出现问题,我将仔细查看您的应用程序,看看是否有一种方法可以减少大量用户的影响,无论是某种缓存还是增加API调用之间的时间间隔,或完全重新考虑此方法。