javascript - 捕捉承诺错误的最佳方法是什么?为什么?
问题描述
我有两个用于捕获承诺错误的代码示例。什么是更好的方法,为什么会这样?
我有这个带有 .catch() 的代码
Message.receive($scope.reference).then(function (response) {
// on success
}).catch(function (error) {
// on error
});
我也有这段代码,没有 .catch()
Message.receive($scope.reference).then(function (response) {
// on success
}, function (error) {
// on error
});
解决方案
foo.then(success, error)
根据是否foo
引发错误执行一个或另一个回调。如果success
引发错误,您将得到一个未捕获的错误,除非您链接另一个.catch
.
foo.then(success).catch(error)
foo
捕获由orsuccess
引发的任何错误。如果foo
引发错误,success
则跳过。
这不是哪个更好,这取决于您要建立什么样的错误处理链。
推荐阅读
- python - 处理来自 Youtube 的实时视频以将语音转换为文本
- javascript - 将外部 javascript 文件加载为节点进程
- signalr - Signalr 个人聊天
- linux - 如何将字符串中的所有 IP 地址放入 bash 数组中
- c# - MVC 中的 URL 编码令牌
- python - 用熊猫数据框索引中的条件替换字符串
- modal-dialog - 基础模式 closeOnClick closeOnEsc 不起作用
- vba - Outlook Inspector Activate 不带入前台
- ios - iPhone X - 底栏高度
- javascript - 在表格中选择更改选项时弹出模型