javascript - 承诺在节点 module.exports 中返回未定义
问题描述
Promiseundefined
在尝试登录时返回routes.js
,但在登录时工作正常queries.js
。我应该如何更改承诺以正确返回响应routes.js
?
在queries.js
:
const rsClient = require('./client.js');
const query = {
one: 'SELECT * FROM my.db'
}
module.exports = {
rsProdRecs: (req, res) => {
rsClient.query(query.one)
.then(res => {
return res;
})
.catch(err => console.log(err));
}
};
在routes.js
var express = require('express');
var router = express.Router();
var queries = require('../queries');
router.get('/', function(req, res, next) {
const data = queries.rsProdRecs();
console.log(data)
res.send(data);
});
module.exports = router;
解决方案
您是否尝试添加return
语句?
rsProdRecs: (req, res) => {
return rsClient.query(query.one)
.then(res => {
return res;
})
.catch(err => console.log(err));
}
推荐阅读
- c++ - 在函数中操作 std::array
- javascript - 使用jQuery触发单选按钮onclick事件
- java - view.jsp 和 render 方法的 Liferay 基本实现策略
- css - 是否有一种受支持但未记录的方式来定义不同视口上的输入大小
- sql - 如何使用standardsql从bigquery中的events_表中获取过去24小时的数据?
- mongodb - 未按照架构插入数据
- python - AWS Cloud9:Python 虚拟环境实际上并未激活。使用系统范围的 python
- agora.io - 我在哪里可以获得帮助教程视频来优化应用程序?
- reactjs - React / Enzyme:运行 Jest / Enzyme 测试时出现 Invariant Violation 错误
- sql - Add another column in the below query