【发布时间】:2021-09-02 17:54:25
【问题描述】:
我有以下解析器类
export class UserResolverService implements Resolve<Observable<IUserAccount[] | IUserMoreInfo>>{
constructor(
private userService: UserService,
private router: Router
){}
resolve(route: ActivatedRouteSnapshot): Observable<IUserAccount[] | IUserMoreInfo> {
.......
.........
return this.userService.getUserAccounts(.....).pipe(
take(1),
map((res) => {
console.log('Data', res);
const data = res.data;
const moreInfo = res.moreInfo;
return {data, moreInfo};
})
.......
........
}
}
对于上述 TS 抱怨以下错误,但是当我用 res.data 返回数据时,错误消失了。
输入'{数据:IUserAccount[];更多信息:IUserMoreInfo |不明确的; }' 缺少类型“IUserAccount[]”的以下属性:length、pop、push、concat 和 26 more.ts(2322)
发出请求的函数
public getUserAccounts = (....): Observable<IUserAccounts> => {
return this.http.get<IUserAccounts>(`${url}`);
};
我的接口定义如下
export interface IUserAccounts {
data: IUserAccount[];
moreInfo?: IUserMoreInfo;
}
export interface IUserAccount{
name: string
......
.....
}
export interface IUserMoreInfo{
alias: string
.....
......
}
【问题讨论】:
标签: angular typescript rxjs