【问题标题】:can i make 2 timers run in sync ?in react native我可以让 2 个计时器同步运行吗?在本机反应中
【发布时间】:2021-09-04 12:13:01
【问题描述】:

我有一个 timer1 在应用程序被杀死/后台/前台运行时在后台运行,另一个 timer2 仅在前台运行。

现在每当应用程序状态从已终止 -> 前台更改时,我希望 timer2(forground) 匹配 timer1(killed) 时间间隔并继续..

例如:-

//timer1
setInterval(() => {
    console.log("in killed state");
}, 30000)

//timer2
setInterval(() => {
    console.log("in foreground state");
}, 30000)

当应用程序回到前台时,我希望两个计时器一起同步 和 timer2 以匹配 timer1,因此两个控制台打印在一起。

这样的事情可以做到吗?稍有延迟也可以。

【问题讨论】:

    标签: javascript react-native setinterval intervals timing


    【解决方案1】:

    您可以使用单个计时器通过检查应用是否处于前台状态来实现此行为。

    let foreground = true //keep track of the foreground state here
    
    setInterval(()=>{
    console.log("in killed state");
    if (foreground) console.log("in foreground state");
    },30000)
    

    【讨论】:

    • 我已经给了控制台以使问题更简单、更清晰,但是我在前台状态下的 timer2 也会触摸 UI,所以我通常会在应用返回终止状态时结束计时器,
    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 2022-01-21
    • 2018-11-07
    • 1970-01-01
    • 2011-01-20
    • 2020-01-27
    • 2015-06-19
    • 1970-01-01
    相关资源
    最近更新 更多