Koa2中的route层,service层异常统一处理有没有好的方式 ?

Koa2中的route层,service层异常统一处理有没有好的方式 ?

router层使用了一个error中间件去全部处理, 那service层和model层的error怎么样去统一处理 ? 每一个像下面用trycatch去捕捉吗?

demo.service.js

async _isUserAlreadyExistByOptions (optionName, optionValue) {    let result = false
    try {      let res = await userModel.findOneUserByOption(optionName, optionValue)
      result = res.length > 0 ? true : false
    } catch (error) {
      logger.error(`ServiceError: error in UserService _isUserAlreadyExistByPhone, ${error}`)
      result = false// demo
    }    return result
  }

希望有大佬能为我指迷津。


扬帆大鱼
浏览 680回答 1
1回答

慕田峪7331174

我们在项目中采用的是这篇文章中提出的方法:koa 中如何优雅地处理异常,实际效果很不错,欢迎交流。
打开App,查看更多内容
随时随地看视频慕课网APP