首页 > 解决方案 > 当应用程序处于后台时,React Native setInterval 会暂停

问题描述

我正在开发一个反应原生应用程序。对于其中一项任务,我需要使用 javascriptsetInterval函数,但是当应用程序在后台时它会停止。谁能指导我,为什么它停止了?有什么解决办法吗?

我的代码:

 let startTimer = setInterval(() => {
        minutes = parseInt(timer / 60, 10)
        seconds = parseInt(timer % 60, 10);
        minutes = minutes < 10 ? "0" + minutes : minutes;
        seconds = seconds < 10 ? "0" + seconds : seconds;
        this.setState({ remainMin: minutes, remainSec: seconds });
        if (--timer < 0) {
            this.handelTimerStop();
            timer = duration;
            this.setState({ isResend: true });
        }
    }, 1000);

标签: javascriptreactjsreact-native

解决方案


这是预期的行为 - 当应用程序暂停时,所有setInterval's running 和(和setTimeouts 挂起)也是如此。您想查看后台任务,以在应用程序最小化时保持运行:

这应该可以帮助您实现:

如何在 React Native 中运行后台任务?


推荐阅读