'Observable<void>' 类型的参数不可分配给 'OperatorFunction<unknown, unknown> 类型的参数

Argument of type 'Observable<void>' is not assignable to parameter of type 'OperatorFunction<unknown, unknown>

我正在尝试导入 RxJS 运算符并且我了解合并错误。它告诉我我在标题中描述的错误。我已经浏览了关于 Merge 的 RxJS 文档,但没有找到任何修复它的方法。正如我现在读到的,为了连接必须使用管道的可观察对象,我想代码没问题。

我留下我的服务代码

import { Component, OnInit } from '@angular/core';
import { Wine } from 'src/app/model/wine';
import { Observable } from 'rxjs';
import { WineService } from 'src/app/services/wine.service';
import { WineQuantityChange } from 'src/app/model/wineQuantityChange';
import { Subject } from 'rxjs';
import { startWith, debounceTime, distinctUntilChanged, merge, switchMap } from 'rxjs';


@Component({
  selector: 'app-winelist',
  templateUrl: './winelist.component.html',
  styleUrls: ['./winelist.component.css']
})
export class WinelistComponent implements OnInit {

  public wines$: Observable<Wine[]>;
  public searchTerm: string = '';

  private searchSubject: Subject<string> = new Subject();
  private reloadWineList: Subject<void> = new Subject();

  constructor(private wineService: WineService) { }

  ngOnInit(): void {
    this.wines$ = this.searchSubject.pipe(
        startWith(this.searchTerm),
        debounceTime(300),
        distinctUntilChanged(),
        merge(this.reloadWineList),
        switchMap((query) => this.wineService.getWines(this.searchTerm))
    );
  }

}

您正在使用的导入rxjs是静态方法;在您的情况下,您需要使用实例方法。

这位于 rxjs/operators:

import { merge } from 'rxjs/operators';