eslint有一条规则是,要求then后面跟一个catch
但大部分情况下是不支持如何处理catch(err=>...
中的err,所以我通常只是把它console.log处理
那么问题就是,then后面是否有必要跟catch?
像我上面那种做法直接console.log(err)对页面没有任何帮助,该卡死的还是要卡死,写catch不就是多此一举?
eslint有一条规则是,要求then后面跟一个catch
但大部分情况下是不支持如何处理catch(err=>...
中的err,所以我通常只是把它console.log处理
那么问题就是,then后面是否有必要跟catch?
像我上面那种做法直接console.log(err)对页面没有任何帮助,该卡死的还是要卡死,写catch不就是多此一举?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
在nodejs的新标准中,要求所有promise的error必须被显式的处理,目前过渡阶段只会显示警告。所以建议使用promise也就是你说的then后最好都加catch。
catch住error后,或记录log或加以其它处理,不至于让整个程序异常。
你说的页面卡死,多是发生异常后,处理过后没有使用res.response或res.send、res.redirect结束请求(假设你用的是Express,其它网页框架也类似),导致页面一直等待,最后超时报错。