【发布时间】:2020-06-03 13:13:01
【问题描述】:
我有一个 observable,我订阅了它,并对结果值(reduce() 和 map())进行了一些操作。
但是在那个 observable 中,我想调用另一个 observable,它只返回一个数字,我需要在我的 map() 中使用这个数字。
这里是一个例子:
this.getYearlyDataByIdAndYear(292, 2019).subscribe(result = > {
let ferienSaldo: FerienSaldo;
this.getVacationsYearlyDataByIdAndYear(292, 2019).subscribe(result = > {
// this is my inner observable and I need to save this result, and use it below!
ferienSaldo = result;
});
this.yearlyOverview = result.reduce < Array < YearlyOverview >> ((prev, current, i, all) = > {
// some code that is not important
let overviewVar: YearlyOverview = {
saldo: ferienSaldo.value
};
prev.push(newTLOverview);
}
return prev;
}, new Array < YearlyOverview > ())
});
基本上如您所见,在我的初始 Observable 中,我需要来自内部的值,我将在 reduce() 中复制该值,以将其分配给我正在创建的新对象!
我的代码的问题是,“let ferienSaldo”变量无法在第二个 observable 中访问,除此之外,我确信还有更好的方法来组合它!
【问题讨论】:
标签: angular observable