← strona głównaProgramowanie (Програмування)

Czym jest Promise w JavaScript i jak szybko zrozumieć jego istotę?

Co to jest Promise w JavaScript i jak szybko zrozumieć jego istotę? Rozbieramy kilka przykładów promes, które pomogą szybko zrozumieć ich przeznaczenie.

Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.
Wyobraź sobie, że zamówiłeś kawę w kawiarni. Barista przyjmuje zamówienie, wydaje paragon i mówi: „Proszę chwilę poczekać”. Nie stoisz w miejscu, możesz usiąść przy stoliku, sprawdzić telefon lub odpowiedzieć na wiadomość. Kiedy kawa jest gotowa, barista woła cię – i otrzymujesz rezultat.
Promise w JavaScript działa tak samo:
  1. Uruchamiasz zapytanie (na przykład do serwera) i otrzymujesz obietnicę (Promise), że odpowiedź będzie później.
  2. JavaScript nie zatrzymuje wykonywania kodu – kontynuuje realizację innych zadań.
  3. Kiedy wynik jest gotowy, Promise informuje o tym, i możesz go przetworzyć.

Prosty przykład Promise

function makeCoffee() {
  return new Promise((resolve) => {
    console.log("Zamówienie przyjęte...");
    setTimeout(() => {
      resolve("☕ Gotowe! Oto twoja kawa.");
    }, 2000);
  });
}

console.log("Na razie przeglądam telefon...");
makeCoffee().then((message) => console.log(message));
Najpierw wykona się console.log("Na razie przeglądam telefon..."), ponieważ obietnica nie blokuje kodu.
Później po 2 sekundach pojawi się "☕ Gotowe! Oto twoja kawa.", kiedy obietnica zostanie zakończona.
promise_example_1.png
Jeśli coś pójdzie nie tak (na przykład kawa się skończy), możemy dodać .catch():
function makeCoffee() {
  return new Promise((resolve, reject) => {
    const coffeeReady = Math.random() > 0.5; // losowy sukces lub porażka

    console.log("Zamówienie przyjęte...");
    setTimeout(() => {
      if (coffeeReady) {
        resolve("☕ Gotowe! Oto twoja kawa.");
      } else {
        reject("❌ Przepraszam, kawa się skończyła.");
      }
    }, 2000);
  });
}

makeCoffee()
  .then((message) => console.log(message))
  .catch((error) => console.log(error));
To jak w prawdziwym życiu: jeśli nie ma kawy, barista przeprasza, a ty otrzymujesz odpowiedź o błędzie.
promise_example_2.png

Jak szybko się z tym zapoznać?

Spróbuj pisać obietnice samodzielnie: stwórz funkcję, która czeka 3 sekundy przed odpowiedzią, lub która losowo kończy się błędem. W ten sposób można szybko zrozumieć, jak działa asynchroniczny kod.
Ale zanim zaczniesz eksperymentować z obietnicami - musisz zrozumieć strukturę (resolve, reject, catch itp.). O tym jest osobny wpis.

🔥 Więcej postów

Wszystkie wpisy
Co to jest CFB (Cipher Feedback)?
Programowanie (Програмування)21 mar '25 16:53

Co to jest CFB (Cipher Feedback)?

CFB (Cipher Feedback) – to tryb szyfrowania, w którym każdy blok zależy od poprzedniego, co zapew...

Co to jest XOR i jak to działa?
Programowanie (Програмування)21 mar '25 17:05

Co to jest XOR i jak to działa?

XOR (wykluczające LUB) – to operacja logiczna, która jest używana w szyfrowaniu, zmianie bitów i ...