【发布时间】:2017-09-04 10:40:03
【问题描述】:
在我的项目中,有时由于我犯的错误或新的团队成员犯的错误,有时会有一个带有某些特定参数的 http 请求同时多次发送到远程后端(意思是相同的确切请求将出现在开发工具中的浏览器 http 请求中,是挂起的两倍)。
这种情况对我们不利,并且之前在远程响应此请求的速度低于发送它们的时间间隔的情况下给我们带来了问题。
这里显而易见的解决方案是始终确保我们在发送下一个相同类型的请求(和参数)之前得到某种类型的请求的答案。但我在想应该有一种方法来确保以一种通用的方式,如果某个请求即将通过 angular http 服务发送,如果该请求已经存在且处于挂起状态,则该服务可以返回 SAME observable 那是由上一个已挂起的请求返回(当我有 2 个不同且不相关的组件一个接一个地发出相同请求时,这将解决一些混乱的情况,这将使它们都订阅相同的 observable)。
我们已经有一个服务,它用 http 封装了我们项目中的所有用途。
问题是我如何才能实现这种行为(或者如果由于某种原因我的想法是错误的,也许我不应该以实现这种行为为目标?),我正在寻找最简单的解决方案(也许Angular已经实现了一些我错过的东西?)或者如果没有某种基于可观察的解决方案来检查我们将要发出的每个请求,如果请求已经存在且处于未决状态
【问题讨论】:
-
请使用段落等格式化此问题。
-
现在可以理解了吗?
-
你可能会觉得这很有趣:hackernoon.com/…
-
这可能就是我要找的东西,我只是在链接中寻找第 4 点的解决方案,以防止出现 2 个相同请求且处于 oending 状态的情况,我在源代码中看到了一些关于签入航班请求,但我无法理解代码如何检查请求是否处于待处理状态。如果你能让我专注于你是如何实现这一目标的,那真的可以让我朝着正确的方向前进
标签: angular http rxjs angular2-observables