Diberikan kode berikut:
var arr = [1,2,3,4,5];
var results: number[] = await arr.map(async (item): Promise<number> => {
await callAsynchronousOperation(item);
return item + 1;
});
yang menghasilkan kesalahan berikut:
TS2322: Ketik 'Janji <nomor> []' tidak dapat ditentukan untuk mengetik 'angka []'. Ketik 'Janji <nomor> tidak dapat ditentukan untuk mengetik' angka '.
Bagaimana saya bisa memperbaikinya? Bagaimana saya bisa membuat async awaitdan Array.mapbekerja bersama?
map, yang mengharapkan operasi sinkron, dan berharap itu berfungsi.
async, Anda membuat fungsi itu mengembalikan janji. Jadi tentu saja, peta async mengembalikan sejumlah janji :)
arr.map()sinkron dan tidak mengembalikan janji.