我需要为Background job schedule
获得解决方案。我的目的是每隔15分钟将latitude
和longitude
发送到我的后端。实现此功能的最佳方法是什么?
答案 0 :(得分:1)
几个月前我确切地说过了,我用2种方法结束了。
虽然我的应用程序需要主动跟踪并在有新的latlong对象进入后端时将latlong对象发送到我的后端,但您可以查找的最佳选项之一是HeadlessJS,需要一些本机编码。
我的解决方案
所有Javascript执行都在后台线程上进行
将您的业务逻辑与UI线程分开,并将它们存储在redux中。只要应用程序处于活动状态,就可以每n分钟发送一次动作。确保在“功能”面板(适用于iOS)中打开背景模式。
我尝试过的其他选项
BackgroundTimer允许您每n分钟执行一次特定的代码段。例如,
export const watchGPSPositionsAtInterval = function(
dispatchNewPositionFunction,
dispatch
) {
let intervalId = BackgroundTimer.setInterval(() => {
navigator.geolocation.getCurrentPosition(
pos => {
if (pos <= MIN_ACCURACY) {
dispatchNewPositionFunction(pos, dispatch);
}
},
error => {
console.log(error);
},
{
enableHighAccuracy: true,
timeout,
maximumAge
}
);
}, TIME_INTERVAL);
return intervalId;
};