2017-12-27 135 views
-1

我需要获得Background job schedule的解决方案。我的目的是每隔15分钟发送latitudelongitude到我的后端。什么是实现这种功能的最佳方式?反应原生背景Job Scheduler

+0

你尝试过什么吗? –

+0

请检查此答案https://stackoverflow.com/questions/35376690/how-can-i-run-background-tasks-in-react-native?answertab=active#tab-top – nish

+0

感谢您的回答。其实我已经检查过这个问题了。我可以从网上找到两个库。一个是后台工作,另一个是后台计时器。但是两者都不能正常工作。他们仍然有很多问题。我仍然在为这种情况寻找适当的解决方案,并且,如果您可以找到任何此功能的解决方案,请分享一次。 –

回答

0

我有几个月前的确切规格,我用2种方法得出结论。

虽然我的应用程序需要主动跟踪,并且在有新的latlong对象进入时向我的后端分派latlong对象,但您可以查找的最佳选项之一是HeadlessJS,但需要一些本地编码。

我的解决方案

所有的JavaScript执行需要在后台线程的地方

独立的业务逻辑远离UI线程并将它们存储在终极版。只要应用程序处于活动状态,就可以每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; 
}; 
+0

感谢您的回答。但我不明白,如何在特定的超时时间安排这项任务。有什么图书馆可以在特定的时间间隔内安排我的任务吗? –

+0

您是否尝试过运行示例程序?如果是,请更新您的帖子,并告诉我们哪部分代码无法使用。 –