我正在开发一个带有无头js任务的反应原生应用程序,以便进行一些后台工作。
我需要在一段时间后执行一些代码,但注意到使用setTimeout执行会暂停,直到应用程序再次处于前台。
任何人都知道为什么会发生这种情况并知道如何解决或解决这个问题?
修改
一个简单的例子
module.exports = async (taskData) => {
for (let i = 0; i < 30; i++) {
setTimeout(function(){
console.log(i);
}, 1000*i + 100);
}
return;
}
当我启动应用程序日志时,正确开始在控制台中打印,但是当我将应用程序放在后台日志中时停止。 一旦应用程序再次出现在前台,所有剩余的日志将一起打印在控制台中。