gpt4 book ai didi

angular - rxjs 在 combineLatest 中调用 combineLatest

转载 作者:太空狗 更新时间:2023-10-29 18:25:49 25 4
gpt4 key购买 nike

我遇到了 rxjscombineLatest 方法的问题。我试图在 combineLatest 中调用 combineLatest 并且它不起作用,尽管它返回 Observable 对象。请帮助解决问题。 console.log 从未被调用

实际上,所有观察者都在不同的文件中,所以我无法将 this.search$ 移动到 this.services$

this.search$ = store.select('search');

this.services$ = Observable.combineLatest(
store.select('currentRegions'),
store.select('services'),
(regions, services) => {
// some filter here
return services;
}
);

this.autocomplete$ = Observable.combineLatest(
this.search$,
this.services$,
(search, services) => {
console.log('show me, please');
return '';
}
);

已解决:没有任何订阅者就无法使用,所以我必须订阅它

最佳答案

combineLatest() 运算符在其所有源 Observable 至少发出一个值时发出一个值。

因此,如果 console.log(...) 从不打印,则意味着 this.search$this.services$ 从不打印发射任何东西。换句话说,这意味着 store.select('currentRegions')store.select('services')store.select('search' ) 从不发出任何值。

请注意,您可以使用 startWith() (即使使用 startWith(null))。

这有效:https://jsbin.com/gecede/2/edit?js,console

这不起作用:https://jsbin.com/livafar/2/edit?js,console

关于angular - rxjs 在 combineLatest 中调用 combineLatest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42111759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com