使用AngularFire2的Ionic Firebase应用程序

使用AngularFire2的Ionic Firebase应用程序,firebase,ionic-framework,angularfire2,Firebase,Ionic Framework,Angularfire2,如何将异步模式转换为同步模式?仅仅通过订阅?我使用Firebase API从Firebase获取数据并在我的应用程序中显示它们,但由于异步模式,显示事件在检索数据之前发生。我正在转向使用AngularFire,但不确定AngularFire是否默认使用异步。我想在程序执行下一步之前等待数据。我使用的是Ionic2,有一个连接到Firebase的提供程序,获取数据,用“.then”方法存储在提供程序中的本地数组中。显示页面注入提供程序,并在显示页面中再次本地存储Firebase数组数据,然后使用h

如何将异步模式转换为同步模式?仅仅通过订阅?我使用Firebase API从Firebase获取数据并在我的应用程序中显示它们,但由于异步模式,显示事件在检索数据之前发生。我正在转向使用AngularFire,但不确定AngularFire是否默认使用异步。我想在程序执行下一步之前等待数据。我使用的是Ionic2,有一个连接到Firebase的提供程序,获取数据,用“.then”方法存储在提供程序中的本地数组中。显示页面注入提供程序,并在显示页面中再次本地存储Firebase数组数据,然后使用html(ion项)中的局部变量来显示它。基本上,我希望通过任何用户对Firebase数据的任何更改来刷新数据。

使用“异步”管道来显示角度模板中任何观察到的数据。只要数据准备就绪,它就会填充视图

以下参考资料有助于您了解如何使用angularfire2处理Obervable。干杯:)

唯一的方法是在模板中使用“异步”,如下所示

<ion-list>
  <button ion-item class="center" *ngFor="let user of users | async" (click)="showOptions(user.$key, user.Name)">
    {{user.title}}
  </button>
</ion-list>
您可以检查,它完全符合您的要求,并且在描述中有一个实例


我建议您迁移到Ionic 3,它更易于与firebase一起使用。

没有“模式”。Firebase异步工作,数据只有在从Firebase返回时才有效。您需要为此制定计划,并且只在数据返回后处理这些数据。虽然这个问题是有效的,但在没有看到您的代码的情况下,真正回答这个问题是模糊的。请通读本指南,杰,谢谢你的帮助。今天我将粘贴一些代码并浏览您建议的链接。基本上这就是我的意图。首先,我不希望每次访问Firebase页面时都从Firebase获取数据,特别是如果我在一天内多次访问该页面,因为数据可能没有任何更改。但如果10个用户中有1个更新了数据,我希望所有用户都能看到最新的数据。其次,我希望一些数据可以在多个页面上使用,并且需要使用相同的代码。我最初将整个代码放在提供程序中,在提供程序中创建一个本地列表变量,并在页面中使用该列表数组,但由于异步性,页面会获得空数据。但是,如果我将处理承诺(.then)的代码移动到实际页面,我确实会在页面中获取数据,但我必须为每个页面复制代码,并且每次访问页面时它都会从Firebase获取数据。
import { FirebaseListObservable } from 'angularfire2/database';