Вопросы с тегом «es6-promise»

Обещание ES6 - это объект ECMAScript 2015, представляющий выполняющуюся асинхронную операцию.

17
Как получить доступ к предыдущим результатам обещания в цепочке .then ()?
Я реструктурировал свой код к обещаниям и создал замечательную длинную цепочку плоских обещаний , состоящую из нескольких .then()обратных вызовов. В конце я хочу вернуть несколько составных значений и получить доступ к нескольким промежуточным результатам обещаний . Однако значения разрешения в середине последовательности не входят в область действия последнего обратного вызова. …

2
Что такое явное обещание конструкции antipattern и как мне этого избежать?
Я писал код, который делает что-то похожее на: 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 */ …

18
Подождите, пока все обещания не будут выполнены, даже если некоторые отклонены
Допустим, у меня есть набор Promises, которые делают сетевые запросы, один из которых завершится ошибкой: // 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 Допустим, я хочу подождать, пока все это не закончится, …


7
Как отказаться от асинхронного / ожидающего синтаксиса?
Как я могу отклонить обещание, возвращаемое функцией async / await? например, первоначально foo(id: string): Promise<A> { return new Promise((resolve, reject) => { someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400)) }); } Перевести на async / await async foo(id: string): Promise<A> { try{ await someAsyncPromise(); return 200; } catch(error) {//here goes if someAsyncPromise() rejected} return 400; //this …

20
Разрешить Javascript Promise вне области действия функции
Я использую ES6 Promise. Обычно Обещание конструируется и используется следующим образом. new Promise(function(resolve, reject){ if (someCondition){ resolve(); } else { reject(); } }); Но я делал что-то похожее на приведенное ниже, чтобы проявить решимость снаружи ради гибкости. var outsideResolve; var outsideReject; new Promise(function(resolve, reject) { outsideResolve = resolve; outsideReject = …

17
Обработка ошибок в Promise.all
У меня есть массив Обещаний, с которыми я разрешаю Promise.all(arrayOfPromises); Я продолжаю цепочку обещаний. Выглядит примерно так 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(); }); …

6
Нужно ли возвращаться после досрочного разрешения / отклонения?
Предположим, у меня есть следующий код. function divide(numerator, denominator) { return new Promise((resolve, reject) => { if(denominator === 0){ reject("Cannot divide by 0"); return; //superfluous? } resolve(numerator / denominator); }); } Если моя цель состоит в том, чтобы использовать его rejectдля досрочного выхода, должен ли я привыкнуть returnсразу же после …

6
Что такое необоснованное отклонение обещания?
Для изучения Angular 2 я пробую их учебник. Я получаю ошибку, как это: (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 …

3
Promise.all: Порядок разрешенных значений
Глядя на MDN, похоже, что valuesпереданный в then()обратный вызов Promise.all содержит значения в порядке обещаний. Например: 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? }); Кто-нибудь может процитировать спецификацию, в которой указывается порядок values? PS: Запуск …


13
Является ли Node.js нативной обработкой Promise.all параллельно или последовательно?
Я хотел бы прояснить этот момент, так как документация не слишком ясна по этому поводу; Q1:Promise.all(iterable) выполняется ли обработка всех обещаний последовательно или параллельно? Или, более конкретно, это эквивалент выполнения цепных обещаний, таких как p1.then(p2).then(p3).then(p4).then(p5).... или это какой - то другой вид алгоритма , где все p1, p2, p3, p4, …

8
Axios получает доступ к полям заголовка ответа
Я создаю веб-приложение с React и Redux и использую axios для выполнения своих запросов. Я хотел бы получить доступ ко всем полям в заголовке ответа. В своем браузере я могу проверить заголовок и увидеть, что все необходимые мне поля присутствуют (например, токен, uid и т. Д.), Но когда я вызываю …

22
Как я могу синхронно определить состояние JavaScript Promise?
У меня есть чистое обещание JavaScript (встроенная реализация или poly-fill): var promise = new Promise(function (resolve, reject) { /* ... */ }); Согласно спецификации , Promise может быть одним из: «решен» и «решен» «урегулирован» и «отклонен» «В ожидании» У меня есть случай, когда я хочу синхронно опросить Обещание и определить: …

5
Возврат обещаний из действий Vuex
Недавно я начал переносить вещи с jQ на более структурированный фреймворк - VueJS, и мне это нравится! Концептуально Vuex стал для меня своего рода сдвигом парадигмы, но я уверен, что знаю, о чем идет речь, и полностью понимаю! Но есть несколько небольших серых областей, в основном с точки зрения реализации. …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.