为了账号安全,请及时绑定邮箱和手机立即绑定

避免 TypeScript 中的浮动 Promise。void 与 .catch 什么时候?为什么?

避免 TypeScript 中的浮动 Promise。void 与 .catch 什么时候?为什么?

暮色呼如 2023-12-14 15:17:11
then我相当习惯在 TypeScript 中以/风格处理 Promise catch,例如:.findById(id).then((result: something | undefined) => result ?? dosomething(result)).catch((error: any) => console.log(error))然而,我也看到了使用 void 来防止浮动承诺的模式,实际上我的语言服务器有时建议将其作为修复方案。void somePromise().dosomething();现在,我并不是特别精通 TypeScript 或 Promise,但我正在努力想知道跳过使用 catch 并简单地使用 void 会如何更好。简短的谷歌搜索并没有给我任何关于何时做什么的明确区分。还有另一个答案解释了 void 的作用,但没有解释为什么我想使用它。还有很多与解决浮动承诺相关的问题,但我找不到任何一个详细说明为什么我会采用 void 方法而不是 catch 方法。
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

在这里添加void并不会真正改变程序的行为,因此可以提到这一点的唯一原因是作为一种“闭嘴”运算符,例如:一种让 linter 安静下来的方法。



查看完整回答
反对 回复 2023-12-14
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信