Nodejsasynchronous任务和匿名函数
以下示例是当前的代码:
new SomeStrategy(function(one, two, done) { // do some stuff return done(pram); })
我想在这个匿名函数里面做一些asynchronous的任务,比如发起请求,并把结果作为done函数的参数,最后返回
返回完成(参数);
怎么可能呢?
您不能从asynchronous函数返回值。
当它执行完成时,调用它的函数将会完成,所以不会有任何地方返回值。
您必须在传递给它的callback函数内部执行您想要处理的asynchronous函数的结果。
只需从内部匿名函数调用done
,就像这样
new SomeStrategy(function(one, two, done) { callAsyncFunction(param1, function(param1) { done(pram); }); })