我最近開始使用node.js.它引用了node.js的異步行爲可以用三種方式使用events
,stream
,callback
。node.js回調如何異步?
活動和emit,pipe
事件使它真正異步流工作,但如何回調異步的,因爲它,除非使用process.nextTick()函數返回之前執行。
活動:
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