JavaScript (리스너) 메소드의 실행 순서와 관련하여 질문이 있습니다. 아래의 코드는 아마 모범 사례는 아니지만 btn1이 변경 될 때 아래 함수가 실행되는 순서를 보장 할 수있는 방법이 있습니까?자바 스크립트 리스너의 실행 순서
$(function() {
$('#btn1').change(function(){
doStuff();
});
});
$(function() {
$(#btn1, btn2).change(function(){
doMoreStuff();
});
});
예 : JS 코드가 "실제 나타나는 js/html 파일에 나열"되어있는 순서에 따라이를 지정할 수 있습니까? #btn1이 변경 될 때 : 1. doStuff()가 먼저 실행됩니다. 2. doStuff()가 호출되기 전에 doStuff()가 완전히 완료 될 것입니다. doStuff가 수행중인 모든 작업이 DOM 업데이트라고 가정하면
doStuff가 DOM을 업데이트하고 doMoreStuff이 업데이트 된 DOM 값을 사용하여 dojore endpoint를 호출하는 실제 예제가 있습니다. - 그리고 doStuff가 항상 먼저 호출 될 것입니다. (처음으로 "목록에있는"드러난 디자인에 기반하여) 항상 호출됩니다.
덕분에, 데미안
지금까지 내가 알고 있어요으로
내가 아는 한 이벤트 리스너가 대기열에 추가되므로 수신 된 이벤트가 발생하면 선언 된 것과 동일한 순서로 호출됩니다. –
이벤트 버블 링이 순서에 영향을 미치지 만주의해야합니다. 이 경우 물론 이벤트 버블 링이 없습니다. –
"첫 번째 변경 기능이 비동기 적이 지 않은 한"아닙니다. "두 번째"선언 된 함수는 Ajax를 호출합니다. 당신이보고 언급 한 그 의사를 사랑하게 될 것입니다. 이 코드는 Ajax 호출의 시스템 로깅이 첫 번째 기능이 완료되지 않았 음을 암시하는 코드를 나타냅니다. – Damo