最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

从NodeJS中的函数返回数据的正确方法

运维笔记admin11浏览0评论

从NodeJS中的函数返回数据的正确方法

从NodeJS中的函数返回数据的正确方法

我是Node的新手,所以我正努力将数据从一个函数传递到另一个函数:

//dhtController.js
exports.currentTemperature = async () => {
  const rawTemp = await dhtSensor.read(22, 4); // { temperature: 24, humidity: 60 }

  return rawTemp;
};




//dataController.js
const dhtController = require('./dhtController');

...
exports.getAllReadings = (req, res, next) => {
  const currentTemp = dhtController.currentTemperature(); // undefined

  res.status(200).json({
    status: 'success',
    currentTemp, // undefined
  });
};
...

我也尝试在dataController中使用async / await-祝您好运。旧的回调方式有效,但是我宁愿保持一致并使用async / await。

有人可以在这里帮助我吗?我想念什么?我的猜测是,在我的dataController中,结果尚未出现在事件循环中。但是,“等待”它们并没有帮助。

回答如下:

由于要调用的函数使用await,因此需要使要调用的函数异步。这很有意义,因为您正在等待结果。

exports.getAllReadings = async (req, res, next) => {
  const currentTemp = await dhtController.currentTemperature(); 

  res.status(200).json({
    status: 'success',
    currentTemp, // undefined
  });
};
发布评论

评论列表(0)

  1. 暂无评论