Przekształciłem swój kod w obietnice i zbudowałem wspaniały długi, płaski łańcuch obietnic , składający się z wielu .then()wywołań zwrotnych. Na koniec chcę zwrócić pewną wartość złożoną i muszę uzyskać dostęp do wielu wyników pośrednich obietnic . Jednak wartości rozdzielczości od połowy sekwencji nie są objęte zakresem ostatniego oddzwaniania, jak uzyskać …
Pisałem kod, który robi coś, co wygląda: function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) { // or = new $.Deferred() etc. | // using a promise constructor myPromiseFn(param+1) | myPromiseFn(param+1) .then(function(val) { /* or .done */ | …
Powiedzmy, że mam zestaw Promises, które wysyłają żądania sieciowe, z których jeden się nie powiedzie: // http://does-not-exist will throw a TypeError var arr = [ fetch('index.html'), fetch('http://does-not-exist') ] Promise.all(arr) .then(res => console.log('success', res)) .catch(err => console.log('error', err)) // This is executed Powiedzmy, że chcę poczekać, aż wszystkie się zakończą, niezależnie …
Korzystam z ES6 Promise. Zwykle obietnica jest budowana i używana w ten sposób new Promise(function(resolve, reject){ if (someCondition){ resolve(); } else { reject(); } }); Ale robiłem coś takiego, jak poniżej, aby podjąć decyzję na zewnątrz ze względu na elastyczność. var outsideResolve; var outsideReject; new Promise(function(resolve, reject) { outsideResolve = …
Mam szereg obietnic, które realizuję Promise.all(arrayOfPromises); Kontynuuję, aby kontynuować łańcuch obietnic. Wygląda mniej więcej tak existingPromiseChain = existingPromiseChain.then(function() { var arrayOfPromises = state.routes.map(function(route){ return route.handler.promiseHandler(); }); return Promise.all(arrayOfPromises) }); existingPromiseChain = existingPromiseChain.then(function(arrayResolved) { // do stuff with my array of resolved promises, eventually ending with a res.send(); }); Chcę dodać …
Załóżmy, że mam następujący kod. function divide(numerator, denominator) { return new Promise((resolve, reject) => { if(denominator === 0){ reject("Cannot divide by 0"); return; //superfluous? } resolve(numerator / denominator); }); } Jeśli moim celem jest rejectwcześniejsze wyjście, czy powinienem returnnawykć zaraz po tym?
Do nauki gry Angular 2 próbuję ich samouczka. Otrzymuję taki błąd: (node:4796) UnhandledPromiseRejectionWarning: Unhandled promise rejection (r ejection id: 1): Error: spawn cmd ENOENT [1] (node:4796) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node. js process with a non-zero …
Patrząc na MDN wygląda na to, że valuesprzekazany do then()wywołania zwrotnego Promise.all zawiera wartości w kolejności obietnic. Na przykład: var somePromises = [1, 2, 3, 4, 5].map(Promise.resolve); return Promise.all(somePromises).then(function(results) { console.log(results) // is [1, 2, 3, 4, 5] the guaranteed result? }); Czy ktoś może podać specyfikację określającą, w jakiej …
Dzwonię do usługi sieciowej za pomocą funkcji pobierania, ale to samo mogę zrobić z pomocą axios. Więc teraz jestem zdezorientowany. Powinienem wybrać axios czy aportować?
Chciałbym to wyjaśnić, ponieważ dokumentacja nie jest na ten temat zbyt jasna; P1: Czy Promise.all(iterable)wszystkie obietnice są przetwarzane sekwencyjnie czy równolegle? A dokładniej, jest to odpowiednik wykonywania obietnic łańcuchowych, takich jak p1.then(p2).then(p3).then(p4).then(p5).... czy jest jakiś inny rodzaj algorytmu, gdzie wszystko p1, p2, p3, p4, p5, itd. są nazywane jednocześnie (równolegle) …
Buduję aplikację frontendową za pomocą React i Redux i używam axios do wykonywania moich żądań. Chciałbym uzyskać dostęp do wszystkich pól w nagłówku odpowiedzi. W swojej przeglądarce mogę sprawdzić nagłówek i widzę, że wszystkie potrzebne pola są obecne (takie jak token, uid itp.), Ale kiedy dzwonię const request = axios.post(`${ROOT_URL}/auth/sign_in`, …
Mam czystą obietnicę JavaScript (wbudowana implementacja lub poly-fill): var promise = new Promise(function (resolve, reject) { /* ... */ }); Ze specyfikacji obietnica może być jedną z następujących: „rozstrzygnięte” i „rozwiązane” „rozstrzygnięte” i „odrzucone” 'w oczekiwaniu' Mam przypadek użycia, w którym chcę przesłuchać obietnicę synchronicznie i określić: czy Obietnica jest …
Dlaczego nie mogę po prostu wrzucić Errorwywołania zwrotnego wewnątrz catch i pozwolić procesowi obsłużyć błąd tak, jakby znajdował się w jakimkolwiek innym zakresie? Jeśli nie zrobię, console.log(err)nic nie zostanie wydrukowane i nic nie wiem o tym, co się stało. Proces właśnie się kończy ... Przykład: function do1() { return new …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.