首页
Javascript
Html
Css
Node.js
Electron
移动开发
小程序
工具类
服务端
浏览器相关
前端收藏
其他
关于
公司注册

捕获mongoose save()报错并返回Controller

2019年12月29日 发布 阅读(1777) 作者:Jerman

基于框架eggjs

正常来说,.save()方法是通过回调函数来处理报错的,如

  1. //service.js
  2. await user.save(function(err){
  3. if(err){
  4. ...
  5. }
  6. })

其实上面await和回调函数一起使用时,返回的并不是promise,它是一个异步操作

如果想捕获err错误,返回controller,怎么做呢?可以使用try...catch(err)...

  1. try {
  2. await user.save()
  3. return 'success'
  4. } catch(err){
  5. if(err){
  6. ...
  7. }
  8. return 'fail'
  9. }

注意:上面没有使用回调函数,回调函数的问题放到catch里了

参考资料

Mongoose学习参考文档——基础篇
Mongoose官方文档
Built-in Promises

版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处