CNode

如何将一个函数写成异步回调的形式?

问答
FFanTaSyLin发布于10 年前最后回复10 年前2 回复4018 浏览0 收藏
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)

F
FanTaSyLin#1·10 年前

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

H
htoooth#2·10 年前

你写的不算错,可以这样写。但是常用的模式是: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中异步

参与回复
登录后即可参与回复。登录