如何在节点js中返回异步方法调用的值

时间:2014-07-29 13:52:07

标签: javascript node.js asynchronous

我正在使用节点js 我的代码流如下

function foo (){
//this returns a value
}
// function foo is an asynchronous call

因为foo是一个异步方法,我将无法访问返回值,如

var return_value = foo ();
console.log(return_value);

这会在控制台中记录为“undefined”,因为异步调用尚未返回值

那么如何通过异步调用返回该值以用于同步代码流的其他领域呢?

提前感谢:)

1 个答案:

答案 0 :(得分:3)

最简单的解决方案是使用回调:

function foo (callback) {
  callback(return_value);
}

foo(function (return_value) {
  console.log(return_value);
});

DEMO