尝试将 Observable 转换为 Angular 中的信号时出现类型不匹配

问题描述 投票:0回答:1

我正在尝试将

Observable
转换为
Signal
以便从
login
函数返回。

login(username: string, password: string): Signal<LoginResponse> {
  const sourceObservable: Observable<LoginResponse> =
    this.http.post<LoginResponse>(this.apiUrl + '/login', {username, password})

  let lrp: LoginResponse = LoginResponse.withStatus(ResponseStatus.PENDING)

  return toSignal<LoginResponse>(sourceObservable, {requireSync: true, initialValue: lrp,}
  )
}

在 return 语句中,我使用

toSignal()
接受一个
ToSignalOptions
对象,并将
requireSync
设置为 true 和初始值。然而,编译器向我抱怨没有重载匹配,因为它期望未定义类型的
initialValue
,而我提供的是
LoginResponse
类型。它应该是LoginResponse,但分析器不喜欢这样。

我是否做错了什么我忽略的事情?

这是 IDE 显示的错误的截图。

angular typescript rxjs angular-signals
1个回答
0
投票

请从

requireSync
 中删除 
ToSignalOptions

仅当

initialValue

 为假
时才允许
requireSync

© www.soinside.com 2019 - 2024. All rights reserved.