then必须后跟catch?

eslint有一条规则是,要求then后面跟一个catch
但大部分情况下是不支持如何处理catch(err=>...中的err,所以我通常只是把它console.log处理
那么问题就是,then后面是否有必要跟catch?
像我上面那种做法直接console.log(err)对页面没有任何帮助,该卡死的还是要卡死,写catch不就是多此一举?

阅读 5.4k
2 个回答

在nodejs的新标准中,要求所有promise的error必须被显式的处理,目前过渡阶段只会显示警告。所以建议使用promise也就是你说的then后最好都加catch。
catch住error后,或记录log或加以其它处理,不至于让整个程序异常。
你说的页面卡死,多是发生异常后,处理过后没有使用res.response或res.send、res.redirect结束请求(假设你用的是Express,其它网页框架也类似),导致页面一直等待,最后超时报错。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题