var a = new Image();
...
// Is it possible that `load` happens here, so I won't be able to catch it?
...
a.onload = function() {};
글쎄, load
이벤트가 더 일찍 트리거되지 않는다고 생각합니다.리스너를 설정하기 전에 이벤트가 트리거됩니까?
브라우저는 마술처럼 라운드별로 코드를 실행하여 어떻게 보장합니까? 따라서 이벤트는 현재 라운드가 끝난 후에 만 트리거됩니까?
는 아래의 코드를 출력하지 아무것도, 우리가 또 다른 라운드에 foo
실행을하기 때문에 setTimeout
를 사용하여입니까?
var a = require('child_process').spawn('ls', ['-l']);
setTimeout(function foo() {
a.stdout.on('data', function (data) {
console.log(data.toString());
});
}, 1000);
이 서버 측 코드 또는 클라이언트 측 코드입니까? 서버 측이라면 (ls -l 때문에 추측하고있다.) 브라우저는 마술처럼 아무것도 보장하지 않는다. – jnovack
@JNovack 자바 스크립트가 이벤트를 다루는 방법은 '노드'에서'v8 '을 사용하므로 클라이언트와 서버 같은 생각을 공유합니다. – lostyzd