如何将一个函数写成异步回调的形式?
发布于 8 年前 作者 FanTaSyLin 3408 次浏览 来自 问答
function fn (param1, param2) {
    var value = doSomething (param1, param2);
}

是这样写么?初学 不太懂

function fn (param1, param2, callback) {
    setTimeout(function() {
	    var value = doSomething (param1, param2);
		callback(null, value);
	}, 0);
}
2 回复

你写的不算错,可以这样写。但是常用的模式是:setImmediate 或者 process.nextTick 。这样使用

function fn (param1, param2,callback) {
  var value = doSomething (param1, param2)
  process.nextTick(callback,null,value);
}

可以参考文档: process.nextTick emitter 中 Asynchronous vs. Synchronous 这一节 nodejs中异步

哦 谢谢你 我之前查文档 说是process.nextTick不能带参数。所以迷茫了

回到顶部