Firestore和AngularFire的Ionic 3性能问题

时间:2018-01-15 12:19:05

标签: firebase ionic3 angularfire2 google-cloud-firestore

当我的收藏超过20个文档时,我遇到了加载非常慢的性能问题。

这是我的应用结构

我收到FeedComponent收集Post订阅Firestore集合

getAllPost(type: string){
    return this.afs.collection(`posts`, ref =>
      ref.orderBy("created", "desc")
        .where("type", "==", type))
      .snapshotChanges(["added"]).map(actions => {

        return actions.map(a => {
          //console.log(a)
          const data = a.payload.doc.data();
          const id = a.payload.doc.id;
          return { id, ...data };
        });
      });
  }

然后,来自Firestore的每个Post创建一个PostComponent

<div *ngFor="let post of posts | async">
            <post *ngIf="post" [userId]="userId" [postId]="post.id" [author]="post.user" [created]="post.created" [postContent]="post.post" [postPicture]="post.picturePath" [firstName]="post.first_name" [lastName]="post.last_name"></post>
</div>

然后这个PostComponent拥有自己的Observable集来检索有效负载的特定信息,因此它会生成对Firestore的额外调用

我的帖子号码超过20后,该应用程序变得超级马虎。 我想我的Observable太多了。

什么是更好的策略?

0 个答案:

没有答案