Zrozumienie słów kluczowych 'async' i 'await' w JavaScript
Słowa kluczowe async i await w JavaScript służą do łatwiejszej pracy z Promise i pisania czystszego kodu asynchronicznego. Słowa te są częścią ES2017 (ES8) i pomagają obsługiwać operacje asynchroniczne w sposób bardziej przypominający synchroniczny.
Jak działa 'async'
Słowo kluczowe async służy do definiowania funkcji asynchronicznej. Kiedy funkcja jest zadeklarowana z async, automatycznie zwraca Promise. Wykonanie funkcji async jest wstrzymywane przy każdym słowie kluczowym await, czekając na rozwiązanie Promise.
async function fetchData() { return 'Dane pobrane'; } fetchData().then(result => console.log(result)); // Wyjście: Dane pobrane
Jak działa 'await'
Słowo kluczowe await można używać wewnątrz funkcji async, aby wstrzymać wykonanie funkcji do momentu rozwiązania Promise. Ułatwia to czytanie i pisanie kodu, eliminując potrzebę korzystania z metod .then() i .catch().
async function fetchData() { let dataPromise = new Promise((resolve, reject) => { setTimeout(() => resolve('Dane pobrane'), 1000); }); let result = await dataPromise; console.log(result); // Wyjście: Dane pobrane } fetchData();
Korzyści
- Czytelność: Kod z
asynciawaitjest bardziej czytelny i przypomina kod synchroniczny. - Obsługa błędów: Można używać bloków
tryicatch, co upraszcza zarządzanie błędami. - Unikanie piekła callbacków: Pomaga unikać głęboko zagnieżdżonych callbacków, co sprawia, że kod jest czystszy.
Ważne uwagi
awaitdziała tylko wewnątrz funkcjiasync.awaitwstrzymuje wykonanie funkcji, ale nie blokuje wykonywania innych operacji.- Jeśli Promise zostanie odrzucony, zostaje zgłoszony błąd, który można przechwycić za pomocą bloków
try-catch.
Podsumowując, async i await oferują potężny sposób na pisanie czystszego i bardziej zarządzalnego kodu asynchronicznego w JavaScript.

