【发布时间】:2020-12-26 22:26:41
【问题描述】:
我有多个在页面生命周期内发出值的可观察对象。例如:
chartData$: Observable;
tableData$: Observable;
filterData$: Observable;
用户可以随时单击“下载”按钮,并获取结合了每个可观察对象最后发出的值的 JSON:
downloadButtonClicked$.pipe(
combine chartData$, tableData$ and filterData$ // <- how do I get latest values here?
).subscribe(([chart, table, filter]) => downloadJson(chart, table, filter))
但是,当这 3 个 observable 中的任何一个发出值作为页面生命周期的一部分时,不应调用 downloadJson 函数,仅在点击下载时调用。
TLDR;
工作最优雅的解决方案(如 Mike 所建议) https://stackblitz.com/edit/typescript-jm3zma?file=index.ts
【问题讨论】:
标签: rxjs rxjs6 rxjs-pipeable-operators