【发布时间】:2021-05-05 09:06:26
【问题描述】:
我试图在我的合并中添加另一个 observable,所以从正确的开始
return merge(
this.paginator.page, this.sort.sortChange,
this.cmdtyChanges.pipe(map(cmdties =>{
return {'cmdties': cmdties};})),
this.bookChanges.pipe(map(book =>{
return {'book': book};})),
this.start.pipe(map(update => {
return {'start':update};})),
this.end.pipe(map(update => {
return {'end':update};})))
我想像下面这样添加另外两个
return merge(
this.paginator.page, this.sort.sortChange,
this.cmdtyChanges.pipe(map(cmdties =>{
return {'cmdties': cmdties};})),
this.bookChanges.pipe(map(book =>{
return {'book': book};})),
this.cptyChanges.pipe(map(cpties =>{
return {'cpties': cpties};})),
this.traderChanges.pipe(map(traders =>{
return {'traders': traders};})),
this.start.pipe(map(update => {
return {'start':update};})),
this.end.pipe(map(update => {
return {'end':update};})))
但它不能编译超过 6 个...
如何绕道?
编辑
抱歉编辑,但看到答案后,我想我必须在合并后显示管道
所以我在做
.pipe(map((merged) => {
var mustLoad = false;
if ('book' in merged) {
this.sendMessage(`book selected: ${merged.book}`);
this.selBook = merged.book;
}
if ('traders' in merged) {
this.sendMessage(`traders selected: ${merged.traders.length}`);
this.selTraders = merged.traders;
console.log('current traders', this.selTraders);
}
当我传递超过 6 种不同类型 Observable<...> | Observable<...> | ... 的联合时,.pipe(map((merged) => { 中 merged 的类型变得未知,之后的代码无法编译
【问题讨论】:
标签: angular typescript rxjs observable