2017-09-19 17 views
0

使用nvm運行nodejs版本v8.5.0。Nodejs 8 - 如何使用貓鼬使用Async/Await

我有一個簡單的索引函數,它使用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; 

然而,當我運行它,我得到一個空的對象回來。

+0

顯示什麼是調用'指數()'。 – zero298

+0

@ zero298更新了我的問題 – Kay

+0

_an empty object back_,you mean'{}'? – alexmac

回答

1

空對象是錯誤(調用res.json(javascript_error)將返回一個空對象)。

而不是

return res(result); 

使用

res.send(result)