node.js - 如何从nodejs模块导出函数获取回调数据

标签 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);

最佳答案

如果您希望代码正常工作,则需要稍微更改一下:

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 的一篇不错的文章.

关于node.js - 如何从nodejs模块导出函数获取回调数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55995618/

相关文章:

Node.js:将标准输出捕获到字符串变量中的最简单方法

node.js - 在 Sails.JS 中持久化之前添加缺少的请求参数

node.js - 尝试使用 this.refs.value 时,使用 this.refs 已被弃用错误

node.js - 我可以在 req.get 中发送 http 请求吗?

javascript - Mongoose - 查询最新文档

javascript - PKCS#12 (.pfx .p12) 使用 node.js 生成?

node.js - Node.JS 的 Heroku 错误代码 H12 问题,后端使用 MongoDB atlas

java - 我将如何将该Java解密方法移植到Node.JS

javascript - 从 Node.js 中的 Promise(Bluebird) 返回值

node.js - 在 find() mongoDB/mongoose 查询结果中格式化日期?