gpt4 book ai didi

javascript - 在 XHR 请求中使用 try/catch 而不是 `.catch` 可观察运算符是否会降低性能?

转载 作者:行者123 更新时间:2023-11-28 04:04:08 26 4
gpt4 key购买 nike

我有一个假设的问题,嗯 - 我被要求加入一个新项目,我正在查看代码。这是您希望在 Angular 项目中看到的常见情况,但是在服务文件中,所有 HTTP 请求都包装在 JavaScript try/catch 中,而不是使用 .catch code> 可观察运算符来处理错误。我以前从未见过这种情况,并建议使用内置的 .catch 可观察运算符。下面是我找到的代码示例(请注意,该语言是 TypeScript)。

public getSomething(id: string): Observable<any> {
try {
return this.http.get('someurl/someparam')
.map((res) => res.json().data);
} catch (e) {
throw new Error('Error with getSomething()');
}
}

我的建议遭到了抵制,我被告知这对性能(内存和网络)没有任何影响。如果是这种情况,我会认为 try/catch 没有从 HTTP 请求返回真正的错误。所以我的问题是,尽管这被认为是反模式(或不是),但在 http.get 周围包装 try/catch 是否会降低性能?我还假设 try/catch 与同步而不是异步代码一起使用 - 这又是我的假设。

如果这是一个不好的非具体问题,请直接说出来,我会删除。但我想了解其他开发者对此的看法。

最佳答案

I was told that it didn't make any difference to performance (both memory and network)

很可能是这样,但这根本不重要。

这一更改将对正确性产生重大影响:try/catch 处理同步异常,而 .catch() 处理来自可观察的 - 包括异步的。

关于javascript - 在 XHR 请求中使用 try/catch 而不是 `.catch` 可观察运算符是否会降低性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46851452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com