Nodejs异步任务和匿名函数

时间:2013-12-17 11:07:45

标签: javascript node.js

以下示例是当前代码:

new SomeStrategy(function(one, two, done) { 
    // do some stuff
    return done(pram);
})

我想在匿名函数中执行一些异步任务,比如启动请求,并将结果用作done函数中的参数,最后返回

  

return done(参数);

怎么可能呢?

2 个答案:

答案 0 :(得分:2)

您无法从异步函数返回值。

当它完成执行时,调用它的函数将完成,因此无法将值返回到任何位置。

你必须对你传递给它的回调函数中的异步函数的结果做任何你想做的工作。

答案 1 :(得分:1)

只需从内部匿名函数调用done,就像这样

new SomeStrategy(function(one, two, done) { 
    callAsyncFunction(param1, function(param1) {
        done(pram);
    });
})