【发布时间】:2017-03-02 16:55:12
【问题描述】:
假设我需要从项目订单中获取所有项目。
- 我需要从订单中获取商品密钥
- 遍历每个项目键并订阅每个
.database.object以获取项目详细信息。
let myItems = [];
let orderItems = this.af.database.list('/order_items');
this.orderItems.subscribe((itemKeys) => {
itemKeys.forEach((itemKey) => {
let item = this.af.database.object('/items/'itemKey.$value);
item.subscribe((itemData) => {
myItems.push(itemData);
});
});
});
这可能会有问题,因为orderItems 订阅尚未完成,forEach 已执行。当然我可以稍后检查列表是否重复,但我很确定有更好的方法。
我的问题 - 有没有更好的方法来做到这一点?
【问题讨论】:
标签: firebase firebase-realtime-database reactive-programming rxjs angularfire2