0

node.jsに非同期ユーティリティを使用しようとしています。以下は私のコードです。コンソールに「Inmyfunc1」と「Inmyfunc2」が出力されます。「callbackfunc」も印刷されると思いますが、印刷されません

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はエラーで、2 番目の引数は最終ハンドラに渡したい結果です。

編集

私は他の間違いを見逃しました。この行:

async.series([myfunc1(), myfunc2()],

する必要があります

async.series([myfunc1, myfunc2],

関数を呼び出すことは想定されていません。あなたは言ってasyncいます:「ねえ、これらの関数を取り、それらで何か(非同期)をしてください!」.

于 2012-06-25T12:33:57.547 に答える