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.
Wyzwanie
ŚredniNapisz 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