0

ここで利用可能な変換ガイドを見て、このガイドに従ってパイプで使用されるマージを変換しようとしていますが、変更前のようには機能していません。

新しいマージを学習するために使用しているコードは次のとおりです。

    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);

しかし、クロムのネットワークタブでは、フォームのステータス(VALIDまたはINVALID)に等しいクエリでAPIへの呼び出しを取得しています。これを変換する適切な方法は何ですか?

4

1 に答える 1

0

私はこれに対する解決策を見つけました:

 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);
于 2019-04-09T07:57:56.467 に答える