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

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 方法。



暮色呼如
浏览 95回答 1
1回答

ibeautiful

在这里添加void并不会真正改变程序的行为,因此可以提到这一点的唯一原因是作为一种“闭嘴”运算符,例如:一种让 linter 安静下来的方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript