2013-12-17 44 views
2

下面的例子是当前的代码:的NodeJS异步任务和匿名函数

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

我想这样做,匿名函数里面的一些异步任务,如发起请求,并使用结果作为中完成的功能,最后一个参数返回

return done(parameter);

该怎么办?

回答

1

直接让done从内部匿名函数,这样

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

我需要返回来自** done **函数的值 – enGMzizo

+1

@enGMzizo我们已经在一个异步函数中。该价值将返回哪里? – thefourtheye

+0

SomeStrategy中的匿名函数应返回**完成(pram)** – enGMzizo

2

你不能从一个异步函数返回一个值。

当它完成执行时,调用它的函数将完成,因此不会有任何值返回值。

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