typescript 将rxjs从6.x更新到7.x后combineLatest出错

lmyy7pcs  于 2023-03-04  发布在  TypeScript
关注(0)|答案(1)|浏览(222)

在将rxjs从版本6.6.6更新到7.4.0之后,我在combineLatest函数中遇到了一个错误。

searchQuery = new FormControl(null);
searchStatus = new FormControl<UserStatus>('ALL');

searchParams$ = combineLatest(
  this.searchQuery.valueChanges.pipe(startWith(null), debounceTime(200)),
  this.searchStatus.valueChanges.pipe(startWith('ALL')),
  (query: string, status: string) => {
    return { query, status };
  }
);

这是错误消息
没有与此调用匹配的重载。最后一个重载给出了以下错误。类型为“(query:字符串,状态:字符串)=〉{查询:字符串;状态:string; }"不能赋给类型为“SchedulerLike”的参数。

mefy6pfw

mefy6pfw1#

combineLatest的函数签名已更改为:

export function combineLatest<A extends readonly unknown[]>(sources: readonly [...ObservableInputTuple<A>]): Observable<A>;

您的新代码应该如下所示:

searchParams$ = combineLatest([
    this.searchQuery.valueChanges.pipe(startWith(null), debounceTime(200)),
    this.searchStatus.valueChanges.pipe(startWith('ALL')),
])
    .pipe(
        map(([query, status]: [string | null, string | null]) => {
            return { query, status };
        }));

相关问题