Как я должен преобразовать слияние, используемое в трубе в v5 в v6 - PullRequest
0 голосов
/ 09 апреля 2019

Я смотрю доступное руководство по конвертации здесь и пытаюсь конвертировать слияние, используемое в конвейере, следуя этому руководству, но оно не работает так, как было до изменения.

Вот мой фрагмент кода, который я использую для изучения нового слияния:

    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).Как правильно преобразовать это?

1 Ответ

0 голосов
/ 09 апреля 2019

Я нашел решение для этого:

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