【发布时间】:2016-10-27 03:29:25
【问题描述】:
我有一个 observable 在订阅时输出一个数组
appleProducts.subscribe((snap) => {
console.log(snap);
});
iphone.subscribe((snap) => {
console.log(snap);
});
控制台输出:
[ipad、iphone、mac]
[iphone4、iphone5、iphone6]
这两个订阅正在异步执行。但是,我需要在 iphone 之前获取 appleProducts,所以当我将 iphone.subscribe 函数放入 appleProducts.subscribe 函数时,会发生一些奇怪的事情:
appleProducts.subscribe((snap) => {
console.log(snap);
iphone.subscribe((snap) => {
console.log(snap);
});
});
控制台输出:
[ipad、iphone、mac]
[iphone4]
[iphone4, iphone5]
[iphone4、iphone5、iphone6]
有人知道为什么会这样吗?谢谢
【问题讨论】:
-
两个可观察对象之间是否存在依赖关系?意思是你需要第一个输出来触发第二个吗?从您显示的代码看起来不像,但只是确认,因为它会改变答案。如果只是为了订单,那么@BeetleJuice 有正确的答案。
标签: angular firebase firebase-realtime-database rxjs angularfire