【发布时间】:2021-02-15 12:42:23
【问题描述】:
我正在尝试通过设置一个值来显示微调器,但是虽然在设置该值时会显示它,但在 subscribe 方法中设置时却看不到它。这是正常行为吗?
search() {
this.isLoading = true; //when setting at here spinner is working
fromEvent(this.searchInput.nativeElement, 'keyup').pipe(
map((event: any) => { // get value
return event.target.value;
}),
filter(res => res.length >= this.minLength),
debounceTime(this.debounceTime),
distinctUntilChanged()
)
.subscribe(text => {
this.isLoading = true; //when setting at here spinner is NOT working
this.demoService.setSubject(text);
this.isLoading = false;
});
}
【问题讨论】:
-
你的
.subscribe(...设置this.isLoading = false;- 所以当然微调器没有加载 -
我应该在
subscribe()方法之后设置它吗? -
在您将 isLoading 设置为 true 而不是内部 subscribe 的管道开头添加一个 tap 运算符,这使得分配即时且微调器无法识别。
-
我不知道你的加载应该什么时候开始或结束,所以我真的不能帮你。
-
@BerkKurkcuoglu 您好,Berk,您可以使用给定的代码发布它吗?
标签: javascript angular typescript rxjs observable