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

Обещания - это тактика для отложенных вычислений, подходящая для нескольких стилей параллелизма: параллелизм потока и цикла событий для локальных вычислений, а также синхронный и асинхронный удаленный обмен сообщениями. Обещание представляет возможный результат асинхронной операции. Основным способом работы с обещаниями является метод, который регистрирует преобразования от возможного значения обещания или причины отказа к новому обещанию.


27
Разрешать обещания одно за другим (т.е. по порядку)?
Рассмотрим следующий код, который читает массив файлов в последовательном / последовательном порядке. readFilesвозвращает обещание, которое разрешается только после последовательного чтения всех файлов. var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) { return new Promise((resolve, reject) => var readSequential = function(index) { if (index …

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сразу же после …

1
Есть ли еще причины использовать библиотеки обещаний, такие как Q или BlueBird, теперь, когда у нас есть обещания ES6? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Улучшить этот вопрос После того, как Node.js добавил встроенную поддержку обещаний, есть ли …


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: Запуск …

7
Когда .then (успех, неудача) считается антипаттером для обещаний?
Я посмотрел на FAQ об синей птице , в котором упоминается, что .then(success, fail)это антипаттерн . Я не совсем понимаю его объяснение, что касается попытки поймать. Что не так с этим следующим? some_promise_call() .then(function(res) { logger.log(res) }, function(err) { logger.log(err) }) Кажется, что пример предлагает следующее как правильный путь. some_promise_call() …

5
Как мне обещать родной XHR?
Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. Я хочу использовать (родные) обещания в моем приложении для выполнения запроса XHR, но без всякой дурачества массивной платформы. Я хочу , чтобы …

6
Angular HttpPromise: разница между методами `success` /` error` и аргументами `then`
Согласно AngularJS doc , звонки, чтобы $httpвернуть следующее: Возвращает объект обещания со стандартным методом then и двумя http-специфическими методами: success и error . Метод then принимает два аргумента: успех и обратный вызов ошибки, который будет вызван с объектом ответа. В успехе и ошибка метода принимает единственный аргумент - функцию , …
177 angularjs  promise 

3
Как найти, какие обещания не обрабатываются в Node.js UnhandledPromiseRejectionWarning?
Node.js из версии 7 имеет асинхронный / ожидающий синтаксический сахар для обработки обещаний, и теперь в моем коде довольно часто появляется следующее предупреждение: (node:11057) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ReferenceError: Error: Can't set headers after they are sent. (node:11057) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, …

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

5
Используйте async await с Array.map
Учитывая следующий код: var arr = [1,2,3,4,5]; var results: number[] = await arr.map(async (item): Promise<number> => { await callAsynchronousOperation(item); return item + 1; }); которая выдает следующую ошибку: TS2322: Тип «Обещание <номер> []» нельзя назначить типу «номер []». Тип «Обещание <номер> нельзя назначить типу« номер ». Как я могу это …

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

4
Как мне дождаться завершения обещания, прежде чем возвращать переменную функции?
Я все еще борюсь с обещаниями, но добиваюсь некоторого прогресса благодаря сообществу здесь. У меня есть простая функция JS, которая запрашивает базу данных Parse. Предполагается, что он должен возвращать массив результатов, но, очевидно, из-за асинхронного характера запроса (отсюда и обещания), функция возвращает до результатов, оставляя мне неопределенный массив. Что мне …

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