Przejdź do treści głównej
INF.03Frontend & JS

Asynchroniczność, Obiekt Promise i async/await

Nowoczesne mechanizmy JavaScript do obsługi operacji asynchronicznych (sieciowych, czasowych), eliminujące tzw. Callback Hell.

Trzy stany obiektu Promise:

  1. Pending (oczekiwanie) – operacja w toku.
  2. Fulfilled / Resolved (spełniona) – operacja zakończona sukcesem.
  3. Rejected (odrzucona) – wystąpił błąd.
JAVASCRIPT
// Tworzenie własnego Promise:
function opoznienie(ms) {
    return new Promise((resolve, reject) => {
        if (ms < 0) reject(new Error('Czas nie może być ujemny'));
        setTimeout(() => resolve('Gotowe!'), ms);
    });
}

// Użycie ze składnią async/await:
async function wykonajZadanie() {
    try {
        console.log('Start...');
        const wynik = await opoznienie(2000);
        console.log(wynik); // Po 2 sekundach: "Gotowe!"
    } catch (err) {
        console.error('Błąd:', err.message);
    }
}

Najczęstsze pułapki na egzaminie INF.03:

  • Słowa kluczowego await można używać wyłącznie wewnątrz funkcji oznaczonej jako async.

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Asynchroniczność, Obiekt Promise i async/await lub rozpocznij trening.