javascript - "catch(console.error)"是捕获 Promise 拒绝的有效方法吗?

标签 javascript node.js promise

假设我有一个 Promise 并像这样捕获错误:

fetch().then(data => {
  console.log(data);
}).catch(console.error);

这是一个有效的代码吗?我见过有人这样做,但我不明白 catch(console.error) 是如何工作的。

最佳答案

是的,如果您只想记录错误并忽略它,那行得通。

.catch 期望您将它传递到函数中,如果 promise 拒绝,则将使用拒绝值调用该函数。通常,您会创建一个具有自定义逻辑的新函数并将其传入,但传入一个已经存在的函数也没关系,例如 console.error

关于javascript - "catch(console.error)"是捕获 Promise 拒绝的有效方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70141042/

相关文章:

node.js - Stripe webhook 测试错误 302

node.js - 如何在 Mongoose 中插入多个文档并需要 Mongoose 验证?

javascript - 在Javascript中轮询本地值的首选方式?

javascript - 在 jQuery 的 Deferred 对象中抛出错误

javascript - 将 promise 包装在 promise 中是一种反模式吗?

javascript - TranslateZ 百分比 CSS 3D 变换

javascript - 无法在 JavaScript 中使用 onload() 访问表单元素

node.js - Sequelize 不返回 queryAsync 对象

javascript - 文本区域中文本的实时渲染

javascript - 使用 CSS 将子菜单定位到主菜单的右侧