JavaScript Obiecing Obsługa błędów

JavaScript Obiecing Obsługa błędów
Kod asynchroniczny może używać obietnic do stosowania ustrukturyzowanego obsługi błędów. Korzystając z obietnic, możesz określić obsługę błędów do „Następnie()”Metoda lub użyj„złapać()" blok. Podobnie do wyjątków dodanych w kodzie zwykłym, gdy obietnica zostanie odrzucona, szuka najbliższego obsługi błędów, w którym błąd rzucany jest przekazywany jako drugi parametr do metody () lub obsługę błędów, podaje go do metody Catch ().

W tym spisie omówi obsługę błędów obietnicy JavaScript za pomocą odpowiednich przykładów. A więc zacznijmy!

JavaScript Obiecing Obsługa błędów

Obietnice są wykorzystywane do zarządzania przepływem wykonania w programie. Obietnice łączenia są również przydatne podczas wykonywania serii funkcji asynchronicznych, w których każda z nich zależy od wcześniejszej funkcji. W obietnicy możesz wykorzystać dwie metody obsługi błędów, które są „Następnie()”Metoda i„złapać()" blok.

JavaScript obiecanie obiecującego błędu za pomocą metody () metody ()

„„Następnie()”Metoda jest wykonywana, gdy obietnica jest spełniona lub odrzucona. Jeśli dodana obietnica zostanie pomyślnie spełniona, jego powiązana funkcja modułu obsługi będzie działać. Jednak obsługa błędów dla „Następnie()„Metoda zostanie wykonana w przypadku odrzucenia obietnicy.

Przykład: JavaScript obiecanie obiecującego błędu za pomocą metody () metody ()
W poniższym przykładzie dodaliśmy „Następnie()„Metoda, która obejmuje dwa wywołania zwrotne, jeden to funkcja obsługi sukcesu, a druga jest przeznaczona do obsługi błędów:

const obiecaSobJ = nowa obietnica ((RESPORVE, odrzuć) =>
settimeout (() =>
Odrzuć („występuje błąd”);
, 2000));
Paymitobj.Następnie ((response) =>
konsola.log (odpowiedź);, (error) =>
konsola.log (błąd); );

Wykonanie powyższego programu pokaże następujące dane wyjściowe:

Jak widać z wyjścia, ten określony moduł obsługi „Następnie()„Metoda działa idealnie; ma jednak również pewne wady. Na przykład możemy napotkać każdy błąd w obsłudze sukcesu, ale dodatkowy moduł obsługi sukcesu nie może sobie z tym poradzić. Ponadto, w przypadku stosowania metody następnie (), musisz napisać moduł obsługi błędów dla każdego bloku „wówczas ()”. W takiej sytuacji możesz wykorzystać „złapać()„Aby pokonać wspomniane wady.

Przykład 1: JavaScript Obiecing Błąd obsługi za pomocą bloku catch ()
Teraz dodamy catch () do obsługi błędu lub stanu odrzucenia obietnicy:

const obiecaSobJ = nowa obietnica ((RESPORVE, odrzuć) =>
settimeout (() =>
Odrzuć („występuje błąd”);
, 2000));
Paymitobj.Następnie ((response) =>
konsola.log (odpowiedź);).catch ((błąd) =>
konsola.log (błąd); );

Kiedy jedna z dodatkowych obietnic zostanie odrzucona, pozostały łańcuch obietnicy zostanie zakończony. To jest powód, dla którego wykonuje się tylko jeden dziennik konsoli:

Przykład 2: JavaScript Obiecing Błąd obsługi za pomocą bloku catch ()
W poniższym przykładzie przede wszystkim obiekt obietnicy frekwencji zaakceptuje „Taylor”Jako argument nazwy, a następnie wyświetl go na konsolę. Następnie funkcja sprawdzi, czy funkcja obietnicy jest wypełniona lub odrzucona i odpowiednio wykonuje dodany kod:

const fertance = funkcja (name)
Zwróć nową obietnicę ((rozdzielcz, odrzuć) =>
if (name === "louis")
Return odrzucenie („Louis jest obecny”);
w przeciwnym razie
settimeout (() =>
return Resolve (nazwa);
, 2000);

);
Frekwencja („Taylor”)
.Następnie ((data) =>
konsola.log (dane);
Frekwencja zwrotna („Louis”); )
.Następnie ((data) =>
konsola.log (dane);
Frekwencja zwrotna („Stepheny”); )
.catch ((błąd) =>
konsola.log (błąd); )

Obietnica JavaScript.Metoda all ()

Obietnica.All () Metoda JavaScript pozwala jednocześnie wykonywać wiele operacji asynchronicznych. W takim scenariuszu oddzwonienie zostanie wykonane, gdy obietnica.Cała metoda wypełnia określone operacje.

Przykład: Korzystanie z obietnicy JavaScript.Metoda all ()
Dostarczony przykład jednocześnie wykona obietnice „X”,„y", I "z". Następnie wszystkie obietnice powrócą „nazwa”:

const obieccyBJ = funkcja (name)
Zwróć nową obietnicę ((rozdzielcz, odrzuć) =>
settimeout (() =>
return Resolve (nazwa);
, 2000);
);
const x = obiecytobj („taylor”);
const y = obiektuajBJ („Stepheny”);
const z = obiecytobj („max”);
Obietnica.Wszystkie ([x, y, z])
.Następnie ((data) =>
konsola.log (dane); );

Wykonanie zajmie tylko dwie sekundy na wyświetlanie trzech nazw, a w przypadku łączenia obietnicy będzie wymagało sześciu sekund:

Obietnica JavaScript.Race () Metoda

Jeśli chcesz wykonać oddzwonienie, gdy tylko pierwsza operacja asynchroniczna zostanie zakończona, możesz skorzystać z „Obietnica.wyścig()" metoda.

Przykład: Korzystanie z obietnicy JavaScript.Race () Metoda
Stworzyliśmy trzy obiekty obietnice „X”,„y", I "z”Z argumentami imieniem i czasem przekazywane do„obiecytobj ()”Funkcja:

const obieccyBJ = funkcja (nazwa, czas)
Zwróć nową obietnicę ((rozdzielcz, odrzuć) =>
settimeout (() =>
return Resolve (nazwa);
, czas);
);

Tutaj, "Marie”Ma najmniej czasu„1”Po drugie, więc wygra wyścig, a jej imię zostanie pokazane jako wynik:

const x = obiecytobj („taylor”, 3000);
const y = obiekturalny („Stepheny”, 2000);
const z = obiecytobj („Marie”, 1000);
Obietnica.Rasa ([x, y, z])
.Następnie ((data) =>
konsola.log (dane); )
.catch ((błąd) =>
konsola.log (błąd);
)

Powyższe dane wyjściowe oznacza, że ​​pomyślnie wdrożyliśmy obietnicę.RACE () Metoda wykonywania wielu operacji jednocześnie.

Wniosek

Używając złapać() I Następnie() metody, możesz obsłużyć błąd rzucany lub odrzucony () w połączeniu z obietnicą. Aby obsłużyć błędy, preferowane jest dodanie metody catch () w kodzie. Obsługa błędów następnie analizuje kod i odpowiednio obsługuje. Ten zapis wyjaśnił obsługę błędów obietnicy w JavaScript za pomocą odpowiednich przykładów.