2012-12-16 26 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

相關問題