2011-02-05 7 views
0

확실히 모범 사례는 아니지만 동일한 함수 호출 내에서 파일을로드하고 내용을 가져와야합니다. 그것은 urlLoader.load 함수를 호출하고 내용이로드 될 때까지 대기합니다 (예 : while(true)).COMPLETE 이벤트를 기다리지 않고 파일을로드하는 방법은 무엇입니까?

플래시가 이벤트를 트리거하지 않으며 현재 스레드가 완료 될 때까지 파일로드를 계속할 수 없다는 사실을 고집합니다. Flash에서 현재 메서드 호출을 끝내지 않고도 파일 내용을 사용할 수있게 할 수있는 방법이 있습니까?

사이드 노트에서 나는 이것이 좋은 일이 아니라는 것을 알고 있습니다. 이것은 이벤트를 기다리지 않고 파일 내용이 필요한 로컬 환경에서 프로세스를 쉽게하기위한 것입니다. 프로세스를 계속 진행하게하면 이미 대기중인 다른 이벤트가 실행되어 엉망이됩니다. 슬프게도 코드를 모두 리팩토링하면 너무 많은 노력이 필요할 것입니다.

+0

그럼 어쩌면 당신은 처음부터 잘못된 방식으로 코드를 작성하지 말았어야보십시오. 그냥 빨아서 리팩터링하세요. –

+0

필자는 글을 쓰지 않았다 : ( – LopSae

+0

IMHO, 절대 안된다. 시스템 코드 로딩은 사용자 코드가 끝날 때까지 시작되지 않을 것이다. 'elastic racetrack'을 검색하여 플래시 프레임 동안 무슨 일이 일어나는지 살펴 본다. – alxx

답변

2

이 문제를 해결할 수있는 유일한 방법은 파일 자체를 [Embed]으로 SWF에 포함시키는 것입니다.

런타임에 파일을로드하려면 이벤트를 사용해야합니다. 모든 I/O는 비동기 패턴으로 수행됩니다. 그것을 받아들이면 매우 효율적인 코드를 작성할 수 있습니다.

+0

텍스트 파일을로드하려고 할 때부터 대답을 추가하십시오.이 링크는'[Embed]'태그에 의해 처리됩니다 : http://cookbooks.adobe.com/post_Embed_external_text_or_Javascript_in_an_Actionscri-12749.html – LopSae

1
+1

이것은 여전히 비동기 적으로 질문에 답하지 않습니다. –

+0

@ Samuel Neff - 질문은 'COMPLETE 이벤트를 기다리지 않고 파일을로드하는 방법'입니까? – www0z0k

+0

@ www0z0k, 이렇게 답하는 방법은 무엇입니까? 'URLStream'을 사용하면 로드 된 파일을 처리하기 전에'URLStream'의'COMPLETE' 이벤트를 기다려야합니다. –

관련 문제