CCA Prep

Урок 5.1Урок 18 з 24

Проміси та async/await

Given a scenario, apply asynchronous programming concepts.

Проміси та async/awaitКілька незалежних промісів: що маєстатися в разі помилки?Зупинитися на першійпомилціPromise.allусі значення абоперша помилкаЗібрати всірезультатиPromise.allSettledдля кожного {status, value |reason }Виграє той, хтозавершиться першимPromise.raceнапр. тайм-аутВиграє перший успіхPromise.anyAggregateError,якщо всі невдалі

Головне

  1. 1Асинхронна функція завжди повертає проміс: return x виконує його зі значенням x, а throw відхиляє.
  2. 2await призупиняє лише ту асинхронну функцію, у якій стоїть. Код, що її викликав, і решта програми працюють далі.
  3. 3Те, що повертає колбек then, стає значенням наступного кроку. Якщо забути return, наступний крок отримає undefined і нічого не чекатиме.
  4. 4Спершу запустіть незалежні операції, а потім чекайте на них разом: Promise.all, allSettled, race чи any — залежно від того, що має статися в разі помилки.
  5. 5Відхилення перехоплюється лише там, де на проміс чекають через await: try/catch навколо промісу, який ви повертаєте без await, нічого не перехопить.
Що перевіряє іспит із цієї теми

Формулювання з програми іспиту (англійською).

  • 5.1.K1Callbacks, promises, then/catch/finally chains and what each returns
  • 5.1.K2async functions and await: what they return and when code after await runs
  • 5.1.K3Promise.all, allSettled, race and any: results and failure behaviour
  • 5.1.S1Choose the asynchronous code that meets a requirement (order, concurrency, failures)

Закріпіть тему

Дайте відповідь на запитання за сценаріями з цієї теми. До кожного варіанта є розбір.

Тренування 5.1 · 12 запитань