[英]How should I convert merge used in pipe in v5 to v6
我正在查看此處提供的轉換指南,並且我正在嘗試按照本指南轉換管道中使用的合並,但它不會像更改之前那樣工作。
這是我用來學習新合並的代碼片段:
this.form.valueChanges.pipe(
startWith(1),
merge(this.form.statusChanges),
merge(this.click$),
map(() => this.form.value.query),
filter(() => this.form.valid)
)
.subscribe(this.search);
private search = (query: string) => {
this.tvs.search(query).subscribe(shows => this.shows = shows);
}
我試過這樣的事情:
merge(
this.form.valueChanges.pipe(
startWith(1),
map(() => this.form.value.query),
debounceTime(500),
tap(() => this.form.controls.query.errors && console.log(this.form.controls.query.errors)),
tap(() => this.form.status && console.log(this.form.status)),
filter(() => this.form.valid)
), this.form.statusChanges, this.click$)
.subscribe(this.search);
但是在chrome的網絡選項卡中,我正在調用api,查詢等於表單的狀態(VALID或INVALID)。 轉換它的正確方法是什么?
我找到了解決方案:
merge(
this.form.valueChanges,
this.form.statusChanges,
this.click$).pipe(
startWith(1),
map(() => this.form.value.query),
debounceTime(500),
tap(() => this.form.controls.query.errors && console.log(this.form.controls.query.errors)),
tap(() => this.form.status && console.log(this.form.status)),
filter(() => this.form.valid)
).subscribe(this.search);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.