Pisanie funkcji async; try/catch; równolegle a sekwencyjnie
Tworzenie funkcji async, oczekiwanie na wyniki za pomocą await, przechwytywanie błędów oraz porównanie wzorców sekwencyjnych i równoległych
Pisanie funkcji async; try/catch; równolegle a sekwencyjnie to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Wprowadzenie do async/await
Cel: Bezpiecznie używać async/await.
- Tworzenie funkcji asynchronicznych
- Oczekiwanie na wartości
- Obsługa błędów przez try/catch
- Wykonywanie równoległe a sekwencyjne

Niewielka funkcja pomocnicza Promise
Należy utworzyć niewielką funkcję pomocniczą opartą na Promise, aby testować await.
// delay returns a Promise that resolves after ms
function delay(ms, value) {
return new Promise(function (resolve) {
setTimeout(function () { resolve(value); }, ms);
});
}
// Example usage
delay(10, "ok").then(function (v) {
console.log("delay:", v);
});

Podstawy funkcji asynchronicznych
async oznacza funkcję, która zwraca Promise; wewnątrz niej można używać await.
// An async function can use await inside
async function greet() {
const name = await delay(5, "Ayla");
console.log("Hello,", name);
}
// Call it
greet();

try/catch z await
Operacje await należy umieszczać w bloku try/catch, gdy dany etap może zakończyć się odrzuceniem.
// Simulate a failing task
function failAfter(ms, message) {
return new Promise(function (resolve, reject) {
setTimeout(function () { reject(new Error(message)); }, ms);
});
}
async function runSafe() {
try {
const v = await failAfter(5, "boom");
console.log("Value:", v);
} catch (e) {
console.log("Caught:", e.message);
}
}
runSafe();

Wzorzec sekwencyjny
Sekwencyjnie: każde await czeka na zakończenie poprzedniej operacji, więc czasy się sumują.
// Sequential: total time ~ A + B
async function sequential() {
const a = await delay(8, "A");
const b = await delay(8, "B");
console.log("seq:", a + b);
}
sequential();

Wykonywanie równoległe z all
Równolegle: najpierw należy uruchomić zadania, a następnie użyć await Promise.all; całkowity czas wynosi około max(A, B).
// Parallel: start both, then await together
async function parallel() {
const pa = delay(8, "A");
const pb = delay(8, "B");
const results = await Promise.all([pa, pb]);
console.log("par:", results.join(""));
}
parallel();

Quiz: równolegle a sekwencyjnie
Szybkie sprawdzenie: Który wzorzec jest szybszy dla niezależnych zadań?

Podsumowanie
Podsumowanie: Napisano funkcje asynchroniczne, użyto await dla wartości, obsłużono błędy przez try/catch oraz porównano sekwencyjne operacje await z szybszym równoległym Promise.all.

Ucz się JavaScript dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 59
- Lekcje
- 200
Często zadawane pytania
Czy lekcja „Pisanie funkcji async; try/catch; równolegle a sekwencyjnie” jest bezpłatna?
Tak — pełny tekst „Pisanie funkcji async; try/catch; równolegle a sekwencyjnie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Pisanie funkcji async; try/catch; równolegle a sekwencyjnie”?
Tworzenie funkcji async, oczekiwanie na wyniki za pomocą await, przechwytywanie błędów oraz porównanie wzorców sekwencyjnych i równoległych Ćwiczysz JavaScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć JavaScript Academy?
Nie wymagamy żadnego doświadczenia. JavaScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.
Ile czasu zajmuje lekcja „Pisanie funkcji async; try/catch; równolegle a sekwencyjnie”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji JavaScript Academy?
Tak. Każda lekcja JavaScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Pisanie funkcji async; try/catch; równolegle a sekwencyjnie
- Limity czasu i przerywanie za pomocą AbortController
- Wzorce ponawiania prób i backoff