JavaScript · Middle · Pytanie 21 z 75
Dlaczego forEach nie czeka na asynchroniczne callbacki?
items.forEach(async (item) => { await save(item); });
console.log("done");- ✓Poprawna odpowiedź:
forEachignoruje zwracane promise'y - „done” wypisze się od razu - 2
forEachczeka na wszystkie promise'y, a potem wypisuje „done” - 3Kod się wysypie:
forEachnie przyjmuje funkcji async
Wyjaśnienie
Callback zwraca promise, ale forEach go nie wykorzystuje. Potrzebny jest for...of z await (sekwencyjnie) lub await Promise.all(items.map(save)) (równolegle).