2012-12-16 2 views
0

내 Trigger.IO 응용 프로그램에서 장치 전화 번호부의 모든 연락처를 검색하고 있습니다. 이 작업은 오랜 시간 (30 초 이상)이 걸리며 스캔 중에 사용자가 계속해서 앱의 다른 기능을 사용할 수있게하여 사용자에게 최상의 편의를 제공하고자합니다. 이상적으로 스캐닝은 사용자에게 중단없이 이루어집니다.Trigger.io에서 장기 실행 JS 작업을위한 백그라운드 처리? - forge.tabs 모듈?

Trigger.IO에서이 작업을 수행 할 수있는 방법이 있습니까? forge.tabs 모듈을 어딘가에 사용할 수 있을지 궁금해했습니다. 탭에서 실행되는 스크립트가 기본 웹 뷰와 동일한 스레드를 공유합니까? 탭을 닫으면 계속 스크립트를 실행할 수 있습니까 아니면 파괴되어 있습니까?

어떻게이 문제에 접근 할 수 있는지 제안 해 주시면 고맙겠습니다. 감사합니다.

+0

연락처와 상호 작용하기 위해 현재 사용중인 코드 스 니펫과 함께 테스트중인 장치/에뮬레이터의 세부 정보를 제공 할 수 있습니까? –

+0

앱이 여전히 활성화 된 경우 (일시 중지/폐쇄되지 않음) setTimeout 호출을 통해 쉽게 연락처 조회를 연기 할 수 있습니다. –

답변

0

호출이 JS 실행을 차단하지 않습니다. 스캔을 시작하고 사용자 입력에 계속 응답 할 수 있습니다.이 시점에서 더 이상 진행할 수없는 경우 어딘가에 회 전자를 표시 할 수 있습니다.

귀하의 경우, 으로 생각하면 긴 요청보다는 많은 요청이 많습니다. UI의 응답성에 영향을 미치는 것이 아닌지 걱정되면 setTimeout에서 다음 지연 시간을 사용하여 다음 API 상호 작용을 실행 해 보면서 다른 대기중인 JS 작업을 시작할 수 있습니다.

+0

네, 그게 정확히 제임스 - 전 하나의'forge.contact.selectAll()'모든 ID를, 그리고 각 ID에 대한'forge.contact.selectById()'를하고 있어요. 나는 아직 setTimeout을 시도하지 않았지만 내가 할 때 다시보고 할 것이다. 그건 그렇고,'forge.contact.selectById()'에 원하는 필드 목록을 전달할 수 있다는 점이 유용 할 것입니다. 현재 저는 이메일에만 관심이 있습니다 : 이메일. – Meirion