我有一個可觀察的方法,它回傳一些資料我需要從另一個可觀察的方法訂閱它,但我收到錯誤
public getSessionInfo(): Observable<UserInfo> {
return this.getUserDetails().subscribe((data: any) => {
return of({
userId: data.UserID,
tenantId: data.tenantID,
launchDarklySecureModeHash: '',
roles: [''],
emailId: data.EmailID,
tenantName: data.name,
userName: data.UserName,
pendoJWTToken: '',
location: '/',
displayLocation: ''
})
});
}
我收到錯誤訊息,訂閱缺少 UserInfo 的 Observable 型別的以下屬性,但是代碼部分
return of({
userId: data.UserID,
tenantId: data.tenantID,
launchDarklySecureModeHash: '',
roles: [''],
emailId: data.EmailID,
tenantName: data.name,
userName: data.UserName,
pendoJWTToken: '',
location: '/',
displayLocation: ''
})
與 UserInfo 的 Observable 型別相同,但我無法解決此問題。請有人通過記下我無法對 getSessionInfo methis 的型別進行任何更改來建議解決方案,因為它是覆寫方法。
提前致謝。
uj5u.com熱心網友回復:
您正在回傳 aSubscription而不是回傳 a Observable。更新包括switchMap.
public getSessionInfo(): Observable<UserInfo> {
return this.getUserDetails().pipe(
switchMap((data: any) => of({
userId: data.UserID,
tenantId: data.tenantID,
launchDarklySecureModeHash: '',
roles: [''],
emailId: data.EmailID,
tenantName: data.name,
userName: data.UserName,
pendoJWTToken: '',
location: '/',
displayLocation: ''
}))
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450134.html
