如何在节点js中使用回调函数

时间:2017-09-09 08:07:54

标签: javascript node.js asynchronous synchronization mean-stack

我必须从functionB

调用functionA
function A() {
  // File read etc functionality goes here//
  return data;
}

function B() {
  var result = A(); 
}

这里由于异步我的结果var是空的,即使函数A返回数据。任何人都可以帮助我。谢谢。

1 个答案:

答案 0 :(得分:0)

您的示例不正确。提供的代码中没有异步。要在B内部调用函数A,您不需要再次编写函数,只需编写A(),就可以得到结果。要获得异步结果,您应该更改编码方法。

如果你想要一些异步的结果,你应该考虑使用promises或callbacks。

喜欢这里:

//cb will be callback function that is provded by the caller code
//in this example it is a anonymouse function from B
function A(cb) {
  // File read etc functionality goes here//
  //this callback should be called when data is ready
  cb(data);
}

function B() {
  A(function (data) {
    //do with data what you want here
  });
}