React Native中的递归函数
问题描述:
我想在我的反应原生项目中添加一个递归函数,但setTimeout
不起作用。你能告诉我为什么吗?以及如何解决它?React Native中的递归函数
handleAppStateChange(appState) {
if(appState === 'background') {
let i = 0;
function runAction() {
i++;
console.log('result'+i);
setTimeout("runAction()",1000);
}
runAction();
}
}
答
的setTimeout
第一个参数是一个函数,所以要尽量
setTimeout(runAction,1000);
嗯。它的工作,但只有当应用程序回到“活跃”。为什么在应用程序处于后台时它不起作用?谢谢。 – Klick
它可能与移动操作系统优化或某事有关。这只是一个猜测,但也许操作系统清除内存,然后应用程序进入后台,因为在浏览器中它的工作很清楚 –
尝试使用Date对象而不是超时。只是一个猜测。不确定它是否适用于您,但在为本地计划通知使用日期时确实有效。 –