ForEach є синхронізованим чи асинхронним?
2024forEach() очікує синхронну функцію — обіцянок не чекає. Переконайтеся, що ви усвідомлюєте наслідки використання промісів (або асинхронних функцій) як зворотних викликів forEach. Щоб виконати серію асинхронних операцій послідовно або одночасно, перегляньте композицію обіцянок.
Однак важливо зазначити, що forEach сам по собі безпосередньо не підтримує async/await тому що він не чекає обіцянок для вирішення. Замість цього нам потрібно використовувати інші параметри, такі як цикли for…of або for, у поєднанні з async/await.
Функція map поводиться точно так само, як forEach, з точки зору асинхронних операцій, що означає, що всі зворотні виклики починаються одночасно та реєструються рівно через 2 секунди. На додаток до цього, . map повертає масив промісів (один проміс на виконання в тому самому порядку).
forEach() передує реалізації шаблону async/await, який покладається на Promise. forEach() не повертає Promise , тому очікування перед запитами. forEach() нічого не робитиме.
Потім він надсилає запит HTTP або HTTPS на сервер. Після цього ви отримаєте відповідь HTTP або HTTPS. Це синхронний API в дії! Інша відмінність, синхронні API, як правило, односпрямовані, тоді як асинхронні API, як правило, двонаправлені.
Async є багатопоточним, що означає, що операції або програми можуть виконуватися паралельно. Синхронізація є однопотоковою, тому одночасно виконуватиметься лише одна операція чи програма. Async не блокує, що означає, що він надсилатиме кілька запитів на сервер.