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 await
dan Array.map
bekerja 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.