WORD DOC
Promesa |
PDF i WORD |
Ocenie: ⭐⭐⭐⭐ 4,86 [7658] |
Otwórz |
Rrzykład
Szablon
Wzór Promesa
1. Definicja promesy
Promesa jest obiektem, który reprezentuje wynik asynchronicznej operacji. Może ona mieć dwa możliwe stany: pełnienie lub odrzucenie.
2. Tworzenie promesy
Aby utworzyć promesę, możemy skorzystać z konstruktora klasy Promise. Przyjmuje ona funkcję zwrotną z dwoma argumentami: resolve i reject.
Przykład:
const obietnica = new Promise((resolve, reject) => { // Asynchroniczna operacja });
3. Pełnienie promesy
Aby promesa spełniła się, musimy wywołać funkcję resolve() przekazując jej odpowiedni wynik.
Przykład:
const obietnica = new Promise((resolve, reject) => { // Asynchroniczna operacja resolve('Wynik operacji'); });
4. Odrzucanie promesy
Jeśli wystąpił błąd lub operacja nie powiodła się, możemy odrzucić promesę wywołując funkcję reject() przekazując jej odpowiedni komunikat lub obiekt błędu.
Przykład:
const obietnica = new Promise((resolve, reject) => { // Asynchroniczna operacja reject('Błąd operacji'); });
5. Obsługa wyniku promesy
Aby obsłużyć wynik promesy, możemy skorzystać z metod then() i catch(). Metoda then() jest wywołana, gdy promesa spełniona, a catch() gdy promesa odrzucona.
Przykład:
const obietnica = new Promise((resolve, reject) => { // Asynchroniczna operacja resolve('Wynik operacji'); }); obietnica .then((wynik) => { console.log('Promesa spełniona:', wynik); }) .catch((bled) => { console.error('Błąd promesy:', blad); });
6. Promisy łańcuchowe
Możemy również łączyć wiele promes w łańcuch, korzystając z metody then().
Przykład:
const obietnica1 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('Pierwsza promesa ukończona'); }, 2000); }); const obietnica2 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('Druga promesa ukończona'); }, 4000); }); obietnica1 .then(function(wynik1) { console.log(wynik1); return obietnica2; }) .then(function(wynik2) { console.log(wynik2); });
7. Obsługa wielu promes
Jeśli musimy zaczekać na zakończenie kilku promes jednocześnie, możemy skorzystać z metody Promise.all().
Przykład:
const obietnica1 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('Promesa 1 ukończona'); }, 2000); }); const obietnica2 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('Promesa 2 ukończona'); }, 4000); }); Promise.all([obietnica1, obietnica2]) .then(function(wyniki) { console.log('Wszystkie promesy ukończone:', wyniki); });
8. Obsługa pierwszej ukończonej promesy
Jeśli interesuje nas tylko wynik pierwszej zakończonej promesy, możemy skorzystać z metody Promise.race().
Przykład:
const obietnica1 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('Pierwsza promesa ukończona'); }, 2000); }); const obietnica2 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('Druga promesa ukończona'); }, 4000); }); Promise.race([obietnica1, obietnica2]) .then(function(wynik) { console.log('Pierwsza ukończona promesa:', wynik); });
9. Obsługa błędów
Jeśli w procesie asynchronicznej operacji wystąpi błąd, możemy go przechwycić i obsłużyć używając bloku catch() lub metody catch().
Przykład:
const obietnica = new Promise((resolve, reject) => { // Asynchroniczna operacja throw new Error('Błąd operacji'); }); obietnica.catch((bled) => { console.error('Błąd promesy:', blad); });
10. Zagnieżdżanie promes
Możemy również zagnieżdżać promesy, czyli tworzyć jedną promesę wewnątrz drugiej.
Przykład:
const obietnica1 = new Promise(function(resolve, reject) { resolve('Pierwsza promesa ukończona'); }); const obietnica2 = new Promise(function(resolve, reject) { obietnica1.then(function(wynik) { resolve(wynik + ' - Druga promesa ukończona'); }); }); obietnica2.then(function(wynik) { console.log(wynik); });
Dzięki promesom możemy skutecznie zarządzać asynchronicznymi operacjami w naszym kodzie JavaScript, co pozwala na uniknięcie tzw. „callback hell” oraz łatwiejsze odwzorowanie logiki sekwencyjnej.
Jak napisać Promesa
FAQ Promesa Wzór
Podsumowanie
Promesa Wzór to wszechstronne narzędzie do tworzenia i edycji wzorów oraz dokumentacji w formacie LaTeX. Jest darmowe, łatwe w użyciu i oferuje wiele funkcji, takich jak tworzenie wzorów matematycznych, generowanie indeksów i tabel. Może być używany online i offline, a także jest kompatybilny z innymi narzędziami do tworzenia dokumentów. Promesa Wzór posiada intuicyjny interfejs użytkownika i obsługuje wiele języków. Jest również bezpieczny, przechowując dane użytkowników w sposób zabezpieczony. Rejestracja w Promesa Wzór jest szybka, a po zarejestrowaniu można zacząć tworzyć i edytować swoje wzory. Narzędzie oferuje również wsparcie techniczne dla swoich użytkowników.