2012-12-16 24 views
0

在我的Trigger.IO应用程序中,我正在扫描设备电话簿中的所有联系人。这需要很长时间(+ 30s),我想通过允许他们在扫描过程中继续使用应用程序的其他功能来为我的用户提供最好的服务。理想情况下,扫描将在不中断用户的情况下进行。在Trigger.io中长时间运行JS操作的后台处理? - forge.tabs模块?

有没有办法在Trigger.IO中做到这一点?我想知道是否可以使用forge.tabs模块 - 在标签中运行的脚本是否与主webview共享相同的线程?如果我关闭标签,我可以继续在其中运行脚本还是销毁?

如何解决这个问题的建议,将不胜感激,谢谢。

+0

您能否提供您当前用于与联系人交互的代码段以及您正在测试的设备/模拟器的详细信息? –

+0

如果您的应用程序仍处于活动状态(未暂停/关闭),则可以通过setTimeout调用轻松推迟联系人查找。 –

回答

0

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

在你的情况,我认为你说的是很多小的请求,而不是一个很长的请求。如果您担心它们会影响UI的响应速度,那么您可以尝试在setTimeout中运行下一个API交互,并延迟一段时间,这可以让其他未完成的JS任务开始运行。

+0

是的,这正是它詹姆斯 - 我正在做一个'forge.contact.selectAll()'来获得所有的ID,然后为每个ID做一个'forge.contact.selectById()'。我还没有试着尝试'setTimeout',但当我这样做时会报告。顺便说一下,能够传递我想要'forge.contact.selectById()'的字段列表将会很有用。目前我只对一个电子邮件感兴趣。 – Meirion

相关问题