0

我正在尝试对 node.js 使用异步实用程序。下面是我的代码。控制台打印“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;
    });
 };
4

1 回答 1

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:“嘿,使用这些函数并用它们做一些事情(异步)!”。

于 2012-06-25T12:33:57.547 回答