gpt4 book ai didi

javascript - 为什么 typescript 忽略变量类型?

转载 作者:行者123 更新时间:2023-12-02 23:10:47 24 4
gpt4 key购买 nike

我声明了一个类型化变量,该变量应该保存服务获取的数据。然而,返回的数据与变量的类型不同,但变量仍然接受数据。

这是我的代码:

Data: Array<{Currency: string, Rate: number}>;

getData(): void {
this.DataService.getAll().subscribe(
(res: Array<any>) => {
this.Data = res;
},
(err) => {
console.log(err);
}
);
}

我尝试了以下方法,但仍然不起作用:

res: Array<{Currency: string, Rate: number}>

更新

这是我的服务

getAll(): Observable<Array<{Currency: string, Rate: number}>> {
return this.http.get(`${this.baseUrl}/data`).pipe(
map((res) => {
this.data = res['data'];
return this.data;
}),
catchError(this.handleError));
}

更新2

我在这里发现了类似的问题:https://github.com/angular/angular/issues/20770

最佳答案

您可以创建一个模型:

export interface CurrencyModel {
Currency: string,
Rate: number
}

然后使用此模型作为响应:

Data: CurrencyModel[];

getData(): void {
this.DataService.getAll().subscribe(
(res: CurrencyModel[]) => {
this.Data = res;
},
(err) => {
console.log(err);
}
);
}

getAll应该返回Observable<CurrencyModel[]>

关于javascript - 为什么 typescript 忽略变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57372106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com