我正在尝试为node.js使用async实用程序。以下是我的代码。控制台打印“In my func1”和“In my func2”。我也期望它打印“回调函数”,但它不会
var myfunc1 = function(callback) {
var a = 1;
console.log ("In my func1");
};
var myfunc2 = function(callback) {
var b = 2;
console.log ("In my func2");
};
models.Picture.prototype.relativeSort = function(viewer_location) {
console.log("Rel Sort");
var sortedPics = [];
var relsortedPics = [];
// Finds all the pictures
async.series([myfunc1(), myfunc2()],
function(err, results){
if(err) {
throw err;
}
console.log("call back func");
return a+b;
});
};
答案 0 :(得分:2)
您需要使用callback
参数,例如:
var myfunc1 = function(callback) {
var a = 1;
console.log ("In my func1");
callback(null, 'test');
};
callback
的第一个参数是错误,第二个是你要传递给最终处理程序的结果。
修改强>
我错过了另一个错误。这一行:
async.series([myfunc1(), myfunc2()],
应该是
async.series([myfunc1, myfunc2],
你不应该调用函数。你在告诉async
:“嘿,接受这些功能并与他们做一些事情(异步)!”。