İçeriğe geç

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.

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)));
}

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.