可观察/订阅订购

时间:2018-04-03 11:03:50

标签: angularjs ionic-framework

我还没有任何代码,我刚刚做了很多阅读,我对我想要实现的内容有疑问。

我有三个屏幕从一个屏幕推到另一个屏幕。

  

屏幕1 - >屏幕2 - >屏幕3

我还有一个可以进行HTTP调用的提供程序,并将响应保存在一个可观察的变量中,我将为此示例调用httpResponse$

我想在屏幕3中使用httpResponse$,但理想情况下,我希望在用户进入屏幕3之前填充它。所以我从屏幕1拨打电话到提供者获取数据并将其分配给httpResponse$。然后在屏幕3中,我想订阅httpResponse$

现在,我的理解是这不起作用,因为当我从屏幕1调用提供者时,它会在响应中的某处调用.next,这将是未定义的,因为它没有已订阅,因为用户尚未访问屏幕3。

这是对的吗?有没有办法做我想做的事情?那是填充数据然后在以后观察它的任何变化?

1 个答案:

答案 0 :(得分:1)

使用rxjs ReplaySubject。它为每个新订户发出最后(n)个值。顺便说一句,请确保您不会错误地终止它,例如使用take (1)以便将来的订阅者可以使用它