자바 스크립트 코드를 매우 쉽게 읽을 수있게하면서 다른 함수를 호출하기 전에 함수 실행을 일시 중지하는 방법을 알아 내려고합니다. 내가에서는 setTimeout을 사용하는 방법에 대한 기사를 수십 읽었습니다외부 대기 클래스를 사용하여 자바 스크립트 함수 실행 일시 중지
function main_function(){
function a();
// wait for function a to finish - could take 1 second - could take 3 seconds
function b();
// wait for function b to finish - don't know how long this will take
function c();
// completed
}
등 다른 기능, 콜백, 리디렉션하지만 정말 일 해결책을 찾을 수 없습니다 : 여기에 내가 뭘하려고 오전의 예입니다 (그리고 대부분의 사람들은 clunky setTimeout()을 사용하는데, 이것은 각 함수가 얼마나 오래 걸릴지 모르기 때문에 실제로 도움이되지 않습니다).
결국 저는 "WaitThread.js"라는 작은 유틸리티를 발견했습니다. 이것은 정확하게 내가해야 할 일인 것처럼 보입니다. 그리고 나중에 읽고 읽고 유지하기 쉬운 것이 될 것 같습니다.
그러나 사용 방법을 알 수 없습니다. :)
누구나이 WaitThread.js 사용 방법에 대한 예를 제공 할 수 있습니까? 아니면 적어도 하나를 끝내기를 기다리는 동안 자바 스크립트 함수가 순차적으로 실행될 때까지 기다릴 수있는 읽기 쉽고/우아한 방법을 제공 해주겠습니까?
http://www.robertmayo.com/blog/2006/07/htmljavascript-wait-for-asynchronous.html
감사 : 여기
는 WaitThread.js 페이지로 연결되는 링크입니다!
그 해결책은 실제로 마법 같은 것이 아닙니다. 워치 독 타이머로 어떤 상태의 변화를 조사하는 것뿐입니다. 웹 브라우저에는 JavaScript 코드로 "대기 중"이라는 것이 없습니다. 이 문제를 해결하는 유일한 방법은 비동기 프로그래밍 모델을 채택하는 것입니다. – Pointy
또한이 기능이 무엇을하고 있는지, 그리고 시간이 오래 걸리는 이유에 대해 자세히 설명해 주면 몇 가지 설명과 제안을 제공하는 데 도움이됩니다. – Pointy