使用angularfire2我试图通过使用forkJoin与相应用户加入用户的朋友请求来展平数据。我正在做以下事情:
getFriendRequests(userId: string): Observable<any> {
return this.afDb.list('friend-requests/' + userId)
.mergeMap((friendRequests) => {
return Observable.forkJoin(
friendRequests.map((user) => {
console.log(user);
return this.afDb.object('users/' + user.$key).take(1);
})
);
});
}
它工作正常,当我向列表添加新用户时它会更新。但是,当我删除一个订阅时,订阅似乎没有更新。列表仍然相同(不仅仅在视图中)。
cancelFriendRequest(userId, friendUserId) {
return this.afDb.object('friend-requests/' + userId + '/' + friendUserId).remove();
}
关于组件:
this.friendRequestsSubscription = this.friendService.getFriendRequests(this.userService.getCurrentUser().uid).subscribe((friendRequests) => {
console.log(friendRequests);
this.friendRequests = friendRequests;
});
非常感谢任何帮助。
谢谢!