当应用在前台运行时,我使用setTimeout成功执行了POST请求,时间为20秒:
setTimeout(function() {
/*POST request is done here*/
}, 20000);
尽管,如果同时用户将应用程序放置在后台,例如通过按“主页”按钮,则20秒钟后我的帖子将不会被解雇。 但是在Android上,我检查是否经过20秒,然后打开应用程序(使其处于前台),然后立即执行发布。 (尚未在ios上进行测试,以查看是否发生了相同的事情)。所以我有以下问题:
1)IOS端也发生了相同的行为?
2)如果超时只有15分钟而不是20秒,我应该期待完全相同的行为吗?
3)我该如何解决这个问题?我需要在一段时间后联系端点,而当应用程序处于setTimeout后台时无法这样做。
使用react-native-background-task之类的库在这种情况下无济于事,因为我需要在恰好20秒(或10分钟等)之后执行代码,而不是像15分钟后的时间那样执行代码
答案 0 :(得分:0)
尝试使用该库,它可以设置您想要设置的时间,但是请记住,ios不允许将时间设置为超过30秒
答案 1 :(得分:0)
我遇到过类似的问题,我使用了react-native-background-timer,它在Android上运行得很好。