Obietnica JavaScript.Metoda wyścigu

Obietnica JavaScript.Metoda wyścigu
Obietnica.Race () Method to wbudowana metoda JavaScript, która przyjmuje iteracyjne obietnice jako argument i zwraca pierwszą obietnicę, która jest rozwiązana lub odrzucona. Obietnica.Metoda rasa () zwróci wartość realizacji lub przyczynę odrzucenia. Iterable to obiekty, które można zapętlone, takie jak tablice, struny i mapy.

Jakie są obietnice?

Kod asynchroniczny można rozwiązać obietnice. Podejmują funkcję znaną jako wykonawca jako parametr. Po utworzeniu obietnicy wykonawca automatycznie działa asynchronicznie i zwraca wartość na wypadek, gdyby została spełniona, w przeciwnym razie zwraca powód odrzucenia:

Pozwól, że przykład_promise = newPromise ((rozdzielcz, odrzuć) =>
Resolve („Obietnica została rozwiązana”);
);
przykład_promise.Następnie (r => konsola.log (r));

Asynchroniczna natura obietnic:

Pozwól, że przykład_promise = newPromise ((rozdzielcz, odrzuć) =>
Resolve („Obietnica została rozwiązana”);
);
przykład_promise.Następnie (r => konsola.log (r));
konsola.Log („1,2,3…”);

Jak używać obietnicy.Race () Metoda?

Przekaż obietnicę iteracją obietnic.RACE () Metoda i uzyskaj swoją wartość zwrotną w zmiennej:

Niech Prom1 = newPromise ((RESPORVE, odrzuć) =>
settimeout (() => RESPOID („Obiecana została rozwiązana”), 500);
);
Niech prom2 = newPromise ((RESPORVE, odrzuć) =>
settimeout (() => odrzucenie („Obiecaj nie można rozwiązać”), 250);
);
Niech temp = obiecaj.Rasa ([Prom1, Prom2]);
Temp.Catch (powód => konsola.log (powód));

W tym przykładzie mieliśmy dwie obietnice. Pierwsza obietnica została rozwiązana po 500 ms, a druga obietnica została odrzucona tuż po 250 sekundach. Ponieważ druga obietnica była pierwszą, która została rozwiązana lub odrzucona, została zwrócona przez obietnicę.Race () Metoda.

Jeśli argument przekazał obietnicę.Race () Metoda jest pustą iteracją, wówczas metoda zwróci na zawsze oczekującą obietnicę:

Niech temp = obiecaj.wyścig([]);
konsola.log (temp);

Jeśli argument jest iteralny ma jakiekolwiek wartości niepromise lub obietnice, które zostały już spełnione lub odrzucone, metoda zadowolą pierwszą wartość w tablicy:

Niech p1 = newPromise ((RESPORVE, odrzuć) =>
Resolve („P1 został rozwiązany”);
);
Niech p2 = newPromise ((RESPORVE, odrzuć) =>
Resolve („P2 został rozwiązany”);
);
Niech temp = obiecaj.rasa ([p1, p2]);
Temp.Następnie (wartość => konsola.log (wartość));

Obietnica.RACE () Sprawdź metodę zarówno rozwiązywanych, jak i odrzuconych obietnic. Ta metoda ma również kolejną alternatywę, która jest obietnicą.dowolna metoda (), której można użyć do sprawdzania spełnionych obietnic.

Wniosek

Obietnica.Metoda rasa () jest stosowana do uzyskania pierwszej obietnicy, która jest albo spełniona lub odrzucona z iteracją obietnic. Obietnica, która jest spełniona lub odrzucona najwcześniej, to wartość zwrotu obietnicy.wyścig(). Napis zapewnił dogłębny wgląd w obietnicę.Race () Metoda.