当应用程序在后台运行时,在本机后台计时器setInterval中调用await

时间:2020-03-07 17:55:15

标签: react-native

我在react native后台计时器setInterval内部有一个api调用,它导致代码执行暂停。如果我只是在回调内部做简单的事情,即使应用程序在后台运行,它也能正常工作,但是如果我在回调函数内部使用await关键字,它将暂停激励。当应用程序成为前台时,所有任务立即执行

  const runTimer = () => {
    BackgroundTimer.start();
    timerInterval = BackgroundTimer.setInterval(async () => {
      await callAnApi();
    }, 20000);
  };

  const stopTimer = () => {
    BackgroundTimer.clearInterval(timerInterval);
    BackgroundTimer.stop();
  };

1 个答案:

答案 0 :(得分:0)

您可以使用react-native-background-timer

即使应用程序在后台运行,它也可以工作。

您可以找到here有关该实施的更多详细信息