结合使用ngZone和rxjs订阅

时间:2019-04-22 14:19:42

标签: angular asynchronous rxjs zone

在我的函数getNext()中,我正在通过订阅可观察的函数异步填充变量。填充变量后,我想调用我的next()组件ViewChild的函数ngslCarousel,该函数在html逻辑中使用了变量。我不知道为什么,但是该方法不起作用。

this.pages.getNext()
          .subscribe((page: IListItemsPage<Ads>) => {
              this.zone.run(() => {
                this.pages.push(page);
                this.ads = page.items;
                this.hasNext = page.hasNext;
                this.hasPrev = true;
                this.index++;
                this.adsCount = this.adsCount - page.items.length;
                this.ngslCarousel.next();
              });
            });

pagesadsthis.ngslCarousel.next();

使用的全局变量

请注意,如果我使用setTimeout(),一切都还不错,但是这种解决方案看起来并不正确。

setTimeout(() => {
              this.ngslCarousel.next();
            }, 250);

0 个答案:

没有答案