Javascript Trigger.io中长时间运行JS操作的后台处理?-forge.tabs模块?

Javascript Trigger.io中长时间运行JS操作的后台处理?-forge.tabs模块?,javascript,trigger.io,Javascript,Trigger.io,在我的Trigger.IO应用程序中,我正在扫描设备电话簿中的所有联系人。这需要很长时间(+30秒),我希望通过允许用户在扫描过程中继续使用应用程序的其他功能,为用户提供最佳体验。理想情况下,扫描不会对用户造成任何干扰 在Trigger.IO中有这样做的方法吗?我想知道forge.tabs模块是否可以以某种方式使用——在选项卡中运行的脚本是否与主webview共享同一线程?如果我关闭选项卡,我可以继续在其中运行脚本吗?还是它已被销毁 如果您能就如何解决此问题提出建议,我们将不胜感激。这些调用不会

在我的Trigger.IO应用程序中,我正在扫描设备电话簿中的所有联系人。这需要很长时间(+30秒),我希望通过允许用户在扫描过程中继续使用应用程序的其他功能,为用户提供最佳体验。理想情况下,扫描不会对用户造成任何干扰

在Trigger.IO中有这样做的方法吗?我想知道forge.tabs模块是否可以以某种方式使用——在选项卡中运行的脚本是否与主webview共享同一线程?如果我关闭选项卡,我可以继续在其中运行脚本吗?还是它已被销毁


如果您能就如何解决此问题提出建议,我们将不胜感激。

这些调用不会阻止JS的执行-您可以开始扫描并仍然响应用户输入:如果此时无法继续,可能会在某处显示微调器


在你的情况下,我认为你谈论的是很多小的请求,而不是一个长的请求。如果您担心它们会影响UI的响应性,您可以尝试在setTimeout中运行下一个API交互,并稍微延迟一点,这将允许任何其他挂起的JS任务开始运行。

您能否提供当前用于与联系人交互的代码片段,以及您正在测试的设备/模拟器的详细信息?如果您的应用程序仍然处于活动状态(未暂停/关闭),您可以通过setTimeout调用轻松推迟联系人查找。是的,正是这样,James-我正在做一个
forge.contact.selectAll()
来获取所有ID,然后为每个ID做一个
forge.contact.selectById()
。我还没有时间尝试
setTimeout
,但我会在完成后报告。顺便说一下,能够传递我想要的
forge.contact.selectById()
字段列表将非常有用。目前我只对其中一个感兴趣:电子邮件。