2017-09-19 12 views
0

imは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

空のオブジェクトback_、あなたは '{}'を意味しますか? – alexmac

答えて

1

空のオブジェクトはエラーです(res.json(javascript_error)を呼び出すと空のオブジェクトが返されます)。代わりに、 `インデックスを呼んでいるものを

return res(result); 

使用

res.send(result) 
関連する問題