作家
登录

从不用try-catch实现的async/await语法来说说错误处理

作者: 来源: 2017-11-02 16:50:09 阅读 我要评论

  1. async function asyncTask(cb) { 
  2.     async function process() { 
  3.         const user = await UserModel.findById(1) 
  4.             .catch(err => Promise.reject(() => { 
  5.                 // deal with error on looking for the user 
  6.                 return "No user found"
  7.             })); 
  8.  
  9.         const savedTask = await TaskModel({ userId: user.id, name"Demo Task" }) 
  10.             .catch(err => Promise.reject(() => { 
  11.                 // making model error 
  12.                 // deal with it 
  13.                 return err === 1 
  14.                     ? "Error occurred while saving task" 
  15.                     : "Error occurred while making model"
  16.             })); 
  17.  
  18.         if (user.notificationsEnabled) { 
  19.             await NotificationService.sendNotification(user.id, "Task Created"
  20.                 .catch(err => Promise.reject(() => { 
  21.                     // just print a message 
  22.                     logger.log(err); 
  23.                     return "Error while sending notification"
  24.                 })); 
  25.         } 
  26.  
  27.         return savedTask; 
  28.     } 
     1/5    1 2 3 4 5 下一页 尾页

      推荐阅读

      代码重构的那些坑和实战经验

    2016年冬,我在一家创虻公司的小团队里搞软件开辟。彼时我们有一位真实的企业客户,且软件的第一版也已宣布。开辟按进度落成,在宣布时我欣喜若狂,也异常骄傲,看着体系办事于天天几百万>>>详细阅读


    本文标题:从不用try-catch实现的async/await语法来说说错误处理

    地址:http://www.17bianji.com/lsqh/38423.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)