每3秒刷新一次本机功能

时间:2019-02-21 02:58:21

标签: react-native setinterval

我想知道是否可以设置每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 })
        }
    })
}

1 个答案:

答案 0 :(得分:0)

如果您有一个API端点,需要每3秒进行一次轮询,并且希望避免从应用程序中重复调用,请尝试在App.js或应用程序根目录中的任何地方使用setInterval是,并将结果转储到您正在使用的Redux /任何状态管理解决方案中,以便您可以在其他位置访问它。

要回答有关“交通繁忙”的问题,是的,这不可避免地需要服务器处理许多API调用。如果这将导致您的API服务器的当前设置出现问题,我将仔细查看您的应用程序,看看是否有一种方法可以减少大量用户的影响,无论是某种缓存还是增加API调用之间的时间间隔,或完全重新考虑此方法。