【发布时间】:2018-02-28 14:05:57
【问题描述】:
我正在使用 nvm 运行 nodejs 版本 v8.5.0。
我有一个简单的索引函数,它使用 mongoose 返回我的 mongo db 中的所有用户。
User.find({}, (err, results) => {
if (err) {
return res.json(err);
}
return res.json(results);
});
我正在尝试将传统的回调方法转换为新的异步和等待。
user.controller.js
'use strict';
const User = require('../models/user.model');
class UserController {
constructor() {
}
async index(req, res) {
try {
let result = await User.find({});
return res(result);
} catch (e) {
return res.json(e);
}
}
show(req, res) {
}
update(req, res) {
}
store(req, res) {
}
destroy(req, res) {
}
}
module.exports = UserController;
user.route.js
'use strict';
let express = require('express');
let router = express.Router();
let controller = require('../controllers/user.controller');
controller = new controller();
router.get('/', controller.index);
router.get('/:id', controller.show);
router.post('/', controller.store);
router.put('/:id', controller.update);
router.delete('/:id', controller.destroy);
module.exports = router;
但是当我运行它时,我得到一个空对象。
【问题讨论】:
-
显示调用
index()。 -
@zero298 更新了我的问题
-
一个空对象返回,你的意思是
{}? -
@alexmac 是的,它返回 {},没有错误。
-
result是否填充到index()中?
标签: node.js express asynchronous mongoose