我最近开始使用 node.js。它引用了 node.js 异步行为可以通过三种方式使用 events
、stream
、callback
。
事件和流处理 emit,pipe
事件使其真正异步,但回调异步如何,因为它在函数返回之前执行除非使用 process.nextTick()。
事件:
event.on('data',function(data){
});
回调:
function(data,cb){
// do something with "data"
cb();
return;
}
最佳答案
让我们仔细看看具有回调的函数:
function(data, cb) {
// do something with "data"
cb();
return;
}
这里有 2 个大错误:
1) 当你有一个回调函数时,你没有理由使用 return 。 Return 仅在您具有立即发送响应的同步操作时使用(它们不必等待将来某个时间触发回调)。
2) 你不立即执行回调,没有任何意义。您要么不使用回调并使用 return 语句(当您实际上没有异步函数时),要么您在将来某个时候获得结果时执行回调。
更好的例子:
function (data, cb) {
// you make an Ajax call and
// you don't know when the callback will be triggered
makeAjaxCall(data, cb);
}
关于javascript - node.js 回调如何异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10793929/