javascript - hogyan adjuk meg egy válasznak a fetch response típusát typescript-ben?
Ez megvan a listám.json fájlomban
[{"id": "1", "qty": 1}]
Én fetch segítségével hívom
async function fetchPlaces() {
let response = await fetch(`./data/list.json`);
response = await response.json();
}
hogyan tudom a választ ugyanazzá a típussá tenni, mint az interfész?
IList {
id: string,
qty: number
}
Megpróbáltam response=await response.json() as IList[], de nem működik
Válasz #1
A probléma az, hogy újrahasználod a response változót, amelynek típusa Response-ként van kikövetkeztetve (ami valójában a fetch visszatérési értéke).
A következők működnek:
interface IList {
id: string,
qty: number
}
async function fetchPlaces() {
let response = await fetch(`./data/list.json`);
let decoded = await response.json() as IList[]; // type is IList[]
}
