Запитання з тегом «promise»

Обіцяння - це тактика відкладених обчислень, яка підходить для декількох стилів одночасності: паралельність потоку та циклу подій для локальних обчислень, а також синхронний та асинхронний віддалений обмін повідомленнями. Обіцянка представляє можливий результат асинхронної операції. Основний спосіб роботи з обіцянками - це метод, який реєструє перетворення від можливої ​​цінності або причини невдачі до нової обіцянки.


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

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? }); Чи може хтось процитувати специфікацію, в якій зазначається, в якому порядку …

7
Коли .then (успіх, невдача) вважається антипатрітетом для обіцянок?
Я переглянув питання щодо поширених запитань щодо синьої пташки , в яких згадується, що .then(success, fail)це антипатрія . Я не зовсім розумію його пояснення щодо спроби та лову. Що поганого в цьому нижче? some_promise_call() .then(function(res) { logger.log(res) }, function(err) { logger.log(err) }) Здається, що в прикладі пропонується наступне як правильно. …

5
Як я обіцяю рідний XHR?
Хочете вдосконалити цю посаду? Надайте детальні відповіді на це питання, включаючи цитати та пояснення, чому ваша відповідь правильна. Відповіді без достатньої кількості деталей можуть бути відредаговані чи видалені. Я хочу використовувати (уроджене) обіцянки в моєму додатку для інтерфейсів для виконання запиту XHR, але без усієї томографії з масивними рамками. Я …

6
Кутова HttpPromise: різниця між методами "успіх" / "помилка" та аргументами "тоді"
За словами документа AngularJS , заклики $httpповернути такі: Повертає об'єкт обіцянки зі стандартним методом тоді та двома специфічними методами http: успіх та помилка . Потім метод приймає два аргументи успіху і помилки зворотного виклику , яка буде викликана з об'єктом відповіді. Методи успіху та помилки беруть один аргумент - функцію, …
177 angularjs  promise 

3
Як знайти, які обіцянки виконуються в Node.js UnhandledPromiseRejectionWarning?
Node.js з версії 7 має синтаксичний цукор async / очікує на обробку обіцянок, і тепер у моєму коді часто виникає таке попередження: (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, promise …

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

5
Використовуйте функцію async, що чекає, з 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 Обіцянка (вбудована реалізація або полі-заливка): var promise = new Promise(function (resolve, reject) { /* ... */ }); З специфікації , Обіцянка може бути одним із: 'осілий' і 'вирішений' "осілий" і "відхилений" "в очікуванні" У мене є випадок використання, коли я хочу запитати Обіцяння синхронно та …

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.