나는 최근 node.js.로 시작했습니다. 이것은 node.js 비동기 동작이 세 가지 방법으로 사용될 수 있다고 말합니다. events
, stream
, callback
. process.nextTick() 사용하지 않는 것이 이 함수의 반환하기 전에을 실행으로node.js 콜백은 어떻게 비동기식입니까?
이벤트 및 emit,pipe
이벤트가 진정으로 비동기 그것을 만들기에 스트림 작동하지만 방법은, 콜백 비동기입니다.
이벤트 :
event.on('data',function(data){
});
콜백 :
function(data,cb){
// do something with "data"
cb();
return;
}
당신은 매우 합리적으로 비동기 동작, 예를 들어 뭔가를 반환 할 수 있습니다 메소드 연결을 허용하는'this'를 반환 할 수 있습니다. – lanzz
@lanzz : 레이스 컨디션을위한 훌륭한 레서피처럼 들립니다. –
@MichaelBorgwardt 필자는 이벤트 중심의 단일 스레드 코드에서 경쟁 조건을 야기하는 것이 매우 바람직하다고 생각합니다. 또한,'object.method1(). method2()'는'object.method1();보다 경합 조건에 더 취약하다. object.method2()'? – lanzz