angular - 如何等待 Angular 中不同组件的可观察解析
问题描述
我有一个关于 observables 的问题。
假设我有一个带有可观察对象的服务,并且我有两个不同的组件订阅该可观察对象。Observable 本身执行后端查询。
目前我有一个问题,即使用相同的输入,单独组件中的两个可观察对象都发送具有相同输入参数的独立网络请求。
有没有办法做到这一点,如果这两个 observable 调用是在其中一个执行时调用的,第二个将等待第一个完成并使用该结果?
我目前正在使用 httpClient 和 angular 5
欢迎任何建议或设计模式:)
解决方案
请使用服务作为单身人士。这可以通过在根模块的提供者列表中配置服务来完成。
在服务中,有一个 observable 作为变量。
从两个组件调用相同的服务方法。
服务方法应该检查是否已经设置了可观察变量。如果设置,则返回变量。如果未设置,则调用 httpclient 函数并将结果分配给 observable 变量,并返回相同的值。
我希望这个逻辑应该有效。
推荐阅读
- c# - REST-Api 不工作 ControllerBase - 404 错误(C# .Net Core)
- excel - 单击另一个单元格时,通过宏插入的图像正在移动
- c - BBU 在 OMNeT++ 中拆分
- javascript - sonarlint JavaScript 警告:“删除不必要的布尔文字”
- python - 模拟外部模块中的函数之外的对象
- r - 正则表达式,单词例外
- dexie - Dexie 中 Table.bulkPut 在 .then() 中返回了什么?
- python - 根据熊猫中的另一个数据框更改列中的值
- tensorflow - 加权自定义损失
- cordova - Cordova InAppBrowser 滑动返回 IOS