Mongoose EXEC()函数async / await

时间:2017-04-01 04:21:49

标签: node.js mongodb typescript mongoose

我正在尝试使用Express和Mongoose的Typescript。到目前为止,结果令人惊讶。然而,我却陷入了一个非常小的角色。

前提:我正在使用EXEC()执行一个Mongoose查询

let result = await UserModel.User.find().exec();

我必须使用async / await,因为在此行之后有一些处理,我想避免整个回调

问题

我需要从查询返回的结果对象中获取 {err,data} 。但是目前它只保存整个数据而我无法执行错误处理

因此,当我使用 async / await

时,需要一种方法来获取猫鼬错误描述

2 个答案:

答案 0 :(得分:4)

使用async/await

完成使用try/catch的错误处理
try {
  let result = await UserModel.User.find().exec();
  ...
} catch(err) {
  ...
}

答案 1 :(得分:0)

尝试使用库await-to-js

示例:

const to = require('await-to-js')。default

const [err,result] = await to(func()) if(err)throw err

...