【问题标题】:Pull to refresh VS Real-time VS Observable/Subscription pattern拉动刷新 VS 实时 VS 可观察/订阅模式
【发布时间】:2019-06-17 23:47:54
【问题描述】:

声明 1:

如果我们有实时模式(Firestore),那么我们不需要移动应用上的pull to refresh 功能。

注意:我知道上面的说法是正确的

声明 2:

我们也可以使用Observable/Subscription pattern 来实现同样的目的吗?即在移动应用上没有pull to refresh 功能。

注意:我的意思是(即Observable/Subscription 模式)数据正在通过Angular http 调用。

【问题讨论】:

  • 无论有没有 observable,你总是可以做到这一点,这是套接字推送。就像 stackoverflow 一样,您有时会在您坐在页面上时收到更新通知。
  • 这不是我的意思。请参阅注意。 @FanCheung

标签: angular typescript ionic3 rxjs google-cloud-firestore


【解决方案1】:

OP 的反馈

我们可以使用Observable/Subscription pattern 实现同样的目标吗? 。你不能。

由于性能问题等原因,完全不推荐以下方法。

原答案

如果您想为此目的使用 http 调用 您可以按固定间隔发送请求,看看服务器端是否有任何更新,这样的流可以如下所示

interval(5000).pipe(
   // request for new information
   switchMap(()=>http.get(url)),
   tap(()=>// do your ui update)
).subscribe()

【讨论】:

  • 如果我以这种方式使用 observable,那么如果有update on db,它就不会自动更新myname{{ myname | async }}
  • 你有什么理由不使用支持 firebase observable 的 firebase 模块,而是想使用 http 调用?
  • 实际上,这是一项研发任务,在 subscription 角度 http 电话上尝试澄清一些事情。您如何看待上述comment{{ myname | async }}
  • 使用对火基流做出反应的 asynpipe 是一个自然的选择。您可以组合流并修改来自火力基地的数据以满足您的需求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 2015-12-31
  • 1970-01-01
  • 2018-07-21
相关资源
最近更新 更多