我有一个node.js脚本,其中我尝试做一些像执行Mongoose查询一样简单的事情,然后阅读promise fgets()
中的响应
问题是无论我尝试什么,.then
似乎永远不会发生。我做错了什么?
这是我的节点文件代码:
.then
当我做const WorkOrder = require('../models/WorkOrder');
let promise = WorkOrder.findOne({}).exec();
promise.then(result => {
console.log('result', result);
);
时,我得到:
console.log(WorkOrder.findOne({}).exec())
这个类似的功能在应用程序的另一部分(使用redux)中使用了更多的东西,这只是一个超级简化的版本,只是为了看看我是否可以查询我的数据库,然后查看结果
这里发生了什么?
答案 0 :(得分:1)
exec不会返回承诺,查询会执行。
const WorkOrder = require('../models/WorkOrder');
let promise = WorkOrder.findOne({});
promise.then(result => {
console.log('result', result);
});
promise.exec()执行您的查询并接收回调函数作为参数:
const WorkOrder = require('../models/WorkOrder');
let promise = WorkOrder.findOne({});
promise.exec((err, result) => {
if(err) console.log("err", err);
else console.log("result", result);
});