Menu
Coddy logo textTech

Promises

Lekcja 8 z 9 w kursie Podchwytliwe elementy nowoczesnego JavaScriptu (ES6+) w Coddy.

Czasami musimy wykonać pewne zadania, których ukończenie może zająć trochę czasu. 

Takiego kodu nie można zapisać w zwykły sposób synchroniczny, dlatego nazywa się go zadaniami asynchronicznymi lub po prostu async.

Obietnice to obiekty JavaScript, które zapewniają ukończenie zadań async i zwracają wynik; może to być sukces albo niepowodzenie!

Obietnica może mieć trzy stany: 1. Oczekujący (stan początkowy) 2. Spełniony (zwraca wynik) 3. Odrzucony (zwraca błąd)

let myPromise = new Promise(function(resolve, reject) {

  resolve("Everything is fine"); // ta funkcja zwrotna jest wywoływana, jeśli zadanie zakończy się powodzeniem
  reject("Error");  // ta funkcja zwrotna jest wywoływana, jeśli zadanie zakończy się niepowodzeniem
  
});

// Lub z użyciem funkcji strzałkowej
let myPromise2 = new Promise((resolve, reject) => {//code});

tutaj myPromise jest obiektem obietnicy. Funkcja zwrotna resolve jest wywoływana, jeśli obietnica zostanie spełniona, a reject jest wywoływana, jeśli obietnica zostanie odrzucona.

myPromise.then( value => console.log(value)) // Wszystko jest w porządku
		 .catch( error => console.log(error)) // Błąd		

aby uzyskać dostęp do wartości wyniku, jeśli obietnica zakończy się sukcesem, możemy użyć .then( value => // your code ) . jeśli obietnica zostanie odrzucona, możemy użyć .catch( value => // your code ).

Obietnice są zwykle używane w zadaniach async, np. podczas wywoływania API backendu (front-end), żądań do bazy danych (backend) itp.

challenge icon

Wyzwanie

Średni

Napisz funkcję getPromise, która zwraca obietnicę rozwiązującą się tą samą wartością tekstową lub odrzucaną z wartością tekstową "Rejected", jeśli wejściowa wartość tekstowa to "Coddy".

Spróbuj swoich sił

function getPromise(s) {
  // Napisz kod tutaj
}

Wszystkie lekcje w sekcji Podchwytliwe elementy nowoczesnego JavaScriptu (ES6+)

Poćwicz samodzielnie: Kompilator JavaScript online