문제

만약 내가 가지고 있다면

$("a#foo").click();
$("a#bar").click();
dostuff();

둘 다 서로 다른 작업을 수행하는 클릭 핸들러가 연결되어 있습니다. bar의 클릭 핸들러는 foo가 완료된 후에만 실행된다는 것이 보장됩니까?아니면 비동기적으로 발송되나요?

마찬가지로..dostuff()는 foo와 bar의 클릭 핸들러가 완료된 후에만 실행됩니까?

도움이 되었습니까?

해결책

브라우저의 Javascript 실행 모델은 대체로 단일 스레드이므로 HttpXmlRequest와 같은 외부 항목에서는 비동기 디스패치가 진행되지 않습니다.

따라서 foo click() 함수는 bar click()이 호출되기 전에 반환되고 doStuff()가 호출되기 전에 반환됩니다.

다른 팁

foo가 수행하는 작업에 따라 다르지만(메서드가 완료된 후 실행될 수 있는 setTimeout을 사용하여 이벤트를 실행하도록 foo를 기술적으로 설정할 수 있음) yes bar는 foo가 완료된 후에 실행되어야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top