Döngü içinde await (ARCH3030)
Anahtar typescript.async.await-in-loop · Önem info · Kategori async
Bir dizi üzerinde for/while döngüsü gövdesinde await etmek, birbirinden bağımsız async işlemleri gereksizce sıralı çalıştırır. Bunlar Promise.all ile eşzamanlı çalıştırılabilir.
Hatalı
Bölüm başlığı “Hatalı”async function loadAll(ids: string[]): Promise<User[]> { const users: User[] = []; for (const id of ids) { users.push(await fetchUser(id)); // seri, yavaş } return users;}async function loadAll(ids: string[]): Promise<User[]> { return Promise.all(ids.map((id) => fetchUser(id)));}Düzeltme
Bölüm başlığı “Düzeltme”Bağımsız işlemleri Promise.all ile eşzamanlı çalıştırın; yalnızca gerçekten sıralı bağımlılık varsa döngüde await edin.