首页 > 解决方案 > 如何使用我的 React 应用绕过标签冻结?

问题描述

我有一个反应应用程序,它在 2 秒计时器上更新数据库中的数据:

componentDidMount() {
    this.interval = setInterval(()=> this.getSelPos(), 2000);
  }
  
  componentWillUnmount() {
    clearInterval(this.interval)  
  }
  
  async getSelPos() {
      const response = await axios.get("http://localhost:5000/selector",  { crossdomain: true });
      console.log(response.data);
      this.setState({SelectorPos: parseInt(response.data.selector)});
      this.setState({Pressure: parseInt(response.data.pressure)});
      this.setState({Temperature: parseInt(response.data.temperature)});

这只是发送到从我的数据库中获取值并响应的节点 api。当前设置为每 2 秒轮询一次并更新页面。

我遇到的问题是,当我将浏览器标记出来或最小化几分钟时,它会在返回时挂起几秒钟,或者它会完全崩溃。我怀疑这是由于浏览器很智能并且在不使用时会冻结标签。但是我很困惑如何解决这个问题?

标签: javascripthtmlnode.jsreactjs

解决方案


推荐阅读