如何从Node.js模块导出功能获取回调数据

时间:2019-05-05 19:28:59

标签: node.js

我无法从nodejs的回调函数获取数据。数据未定义。.

const fs = require('fs');
module.exports.license = fs.readFile('license.json', (err,data) => {
if(err){
  return err;
} else { return data; }
});

const boot = require('./boot');
console.log(boot.license);

1 个答案:

答案 0 :(得分:1)

如果您希望其工作,则需要对其代码进行一些更改:

const fs = require('fs');

module.exports.license = function license(cb) {
  fs.readFile("license.json", cb);
}

现在在您的主模块中,您将按以下方式使用它:

const boot = require('./boot');

boot.license((err, data) => {
  if (err) console.err(err);
  console.log(data);
});

这个想法是,您将需要将回调传递为函数参数,以获取数据或错误;关于Callbacks explained in plain english的体面文章。