2013-06-17 4 views
1

Mozilla 확장 기능으로 내 운을 시험하고 있습니다.작업자에게 객체 전달

아래 코드를 사용하여 파일에서 한 줄씩 내용을 읽고 내용을 배열에 저장하고 싶습니다. 그리고 저는 작업자를 사용하여 주 스레드와 떨어져 백그라운드에서이 작업을 수행하려고했습니다. 내가 직면하고있는 문제는 DataCloneError 오류를받지 않고 postMessage() 함수에서 "Components"도 입력 스트림도 작업자에게 전달할 수없는 것입니다.

https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O#Line_by_line

작동하도록 작업자에게 전달하는 방법을 무엇에 어떤 아이디어? 그렇지 않다면 노동자를 사용하지 않고 비동기 적으로이 작업을 수행하는 방법은 무엇입니까?

답변

1

순수한 JSON을 제외한 모든 것을 작업자에게 전달할 수 없으며 ComponentsComponents.classes은 모두 JSON과 직렬화 할 수 없습니다.

자바 스크립트 모듈 NetUtil.jsm을 살펴보면 로컬 파일 읽기에 네트워크 유틸리티를 사용하는 것이 좋습니다. 결국 모든 것이 여전히 소켓입니다.

또한 코드 예고편에서 좋은 이전 코드 setInterval으로 비동기 코드를 만들 수 있습니다.