【发布时间】:2018-01-24 09:26:45
【问题描述】:
我正在使用 typescript 在 node.js 中工作,并且我定义了 Tariff 和 Tariffs 类。我还使用 JSON 创建了应该与类兼容的假数据。但我在resolve() 方法中遇到错误:
'{ blabbla...' 类型的参数不能分配给 输入“关税 | PromiseLike'。
export class FakeDataProvider implements IDataProvider {
loadTariffs?(request: LoadTariffsRequest): Promise<Tariffs>{
return new Promise<Tariffs>((resolve, reject) => {
resolve(fakeTariffs);
});
}
}
接下来我在另一个文件中定义并导出了类:
export class Tariff {
tariffOptionId: number = 0;
name: string = '';
}
export class Tariffs {
// tariff: Tariff = new Tariff(); // this does not work
tariff: Array<Tariff> = []; // this does not work too
}
然后我在另一个文件中导出了假的模型 JSON 数据:
let fakeTariffs =
{
'tariffs': {
'tariff': [
{ "name": "tariff1", "tariffOptionId": 1 },
{ "name": "tariff2", "tariffOptionId": 2 },
{ "name": "tariff3", "tariffOptionId": 3 }
]
}
};
export default fakeTariffs;
我做错了什么,如何修改类以兼容假数据?
【问题讨论】:
-
尝试删除
fakeTariffs的'tariffs': {部分。试试写let fakeTariffs: Tariffs。 -
删除
'tariffs': {解决了这个问题。
标签: json typescript types typing