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

111
Отменить обычную цепочку обещаний ECMAScript 6

Есть ли способ очистки .thenкода JavaScriptPromise экземпляра ? Я написал тестовую среду JavaScript поверх QUnit . Платформа запускает тесты синхронно, выполняя каждый из них в файле Promise. (Извините за длину этого блока кода. Я прокомментировал его как можно лучше, так что он кажется менее...

110
Что делает $ .when.apply ($, someArray)?

Я читаю об отсрочках и обещаниях и постоянно сталкиваюсь с ними $.when.apply($, someArray). Я немного не понимаю, что именно он делает, ищу объяснение, что одна строка работает точно (а не весь фрагмент кода). Вот какой контекст: var data = [1,2,3,4]; // the ids coming back from serviceA var...

108
Как дождаться разрешения обещания JavaScript перед возобновлением работы?

Я провожу модульное тестирование. Платформа тестирования загружает страницу в iFrame, а затем выполняет утверждения для этой страницы. Перед началом каждого теста я создаю объект, Promiseкоторый устанавливает onloadсобытие iFrame для вызова resolve(), устанавливает iFrame srcи возвращает обещание....

107
Подождите, пока все обещания разрешатся

Итак, у меня есть ситуация, когда у меня есть несколько цепочек обещаний неизвестной длины. Я хочу, чтобы какое-то действие выполнялось, когда все ЦЕПИ были обработаны. Это вообще возможно? Вот пример: app.controller('MainCtrl', function($scope, $q, $timeout) { var one = $q.defer(); var two =...

106
Angularjs $ q.all

Я реализовал $ q.all в angularjs, но не могу заставить код работать. Вот мой код: UploadService.uploadQuestion = function(questions){ var promises = []; for(var i = 0 ; i < questions.length ; i++){ var deffered = $q.defer(); var question = questions[i]; $http({ url : 'upload/question', method:...

105
Размещение улова ДО и ПОСЛЕ

Мне сложно понять разницу между помещением .catchBEFORE и AFTER во вложенное обещание. Альтернатива 1: test1Async(10).then((res) => { return test2Async(22) .then((res) => { return test3Async(100); }).catch((err) => { throw "ERROR AFTER THEN"; }); }).then((res) => { console.log(res);...

104
Почему Javascript ES6 Promises продолжает выполнение после разрешения?

Насколько я понимаю, обещание - это то, что может разрешить () или отклонить (), но я был удивлен, обнаружив, что код в обещании продолжает выполняться после вызова решения или отклонения. Я считал, что функция resolve или reject является асинхронной версией exit или return, которая остановит все...

103
В чем разница между обещаниями JavaScript и async await?

Я уже использую функции ECMAScript 6 и ECMAScript 7 (благодаря Babel) в своих приложениях - как мобильных, так и веб-. Первым шагом, очевидно, был уровень ECMAScript 6. Я изучил множество асинхронных шаблонов, обещаний (которые действительно многообещающие), генераторов (не знаю, почему...

101
Обещания, передайте дополнительные параметры в цепочку

Обещание, например: var P = new Promise(function (resolve, reject) { var a = 5; if (a) { setTimeout(function(){ resolve(a); }, 3000); } else { reject(a); } }); После вызова метод в обещании: P.then(doWork('text')); Функция doWork выглядит так: function doWork(data) { return function(text) { //...

100
TypeError: невозможно прочитать свойство then of undefined

loginService.islogged() Вышеупомянутая функция возвращает строку типа «сбой». Однако, когда я пытаюсь запустить эту функцию, она вернет ошибку TypeError: Cannot read property 'then' of undefined и курсор указывает сразу после connectedи перед .then. Ниже представлена ​​полная функция: var...

98
Как лучше всего ограничить параллелизм при использовании ES6 Promise.all ()?

У меня есть код, который выполняет итерацию по списку, который был запрошен из базы данных, и делает HTTP-запрос для каждого элемента в этом списке. Иногда этот список может быть достаточно большим (тысячи), и я хотел бы убедиться, что я не попадаю на веб-сервер с тысячами одновременных...

98
Promise.resolve против нового обещания (разрешение)

Я использую bluebird и вижу два способа преобразовать синхронные функции в Promise, но я не вижу различий между ними. Похоже, трассировка стека немного отличается, так что это не просто, не так ли alias? Итак, какой способ предпочтительнее? Путь А function someFunction(someObject) { return new...

96
Promise.all (). Then () разрешить?

Используя Node 4.x. Когда у вас есть вопрос, Promise.all(promises).then()как правильно разрешить данные и передать их следующему .then()? Я хочу сделать что-то вроде этого: Promise.all(promises).then(function(data){ // Do something with the data here }).then(function(data){ // Do more stuff here...

96
Как дать обещание из setTimeout

Это не настоящая проблема, я просто пытаюсь понять, как создаются обещания. Мне нужно понять, как дать обещание функции, которая ничего не возвращает, например setTimeout. Предположим, у меня есть: function async(callback){ setTimeout(function(){ callback(); }, 5000); } async(function(){...

94
Замена обратных вызовов обещаниями в Node.js

У меня есть простой модуль узла, который подключается к базе данных и имеет несколько функций для получения данных, например эту функцию: dbConnection.js: import mysql from 'mysql'; const connection = mysql.createConnection({ host: 'localhost', user: 'user', password: 'password', database: 'db'...

93
В чем разница между redux-thunk и redux-prom?

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

92
Никогда не выполненное обещание вызывает утечку памяти?

У меня есть Promise. Я создал его, чтобы при необходимости отменить AJAX-запрос. Но поскольку мне не нужно отменять этот AJAX, я никогда не разрешал его, и AJAX успешно завершился. Упрощенный фрагмент: var defer = $q.defer(); $http({url: 'example.com/some/api', timeout:...

91
Как вернуть много обещаний и дождаться их всех, прежде чем делать другие вещи

У меня есть цикл, который вызывает метод, выполняющий асинхронно. Этот цикл может вызывать метод много раз. После этого цикла у меня есть еще один цикл, который нужно выполнить, только когда все асинхронные вещи будут выполнены. Итак, это иллюстрирует то, что я хочу: for (i = 0; i < 5; i++) {...

88
Ошибка повторного отображения в обещании catch

В учебнике я нашел следующий код: promise.then(function(result){ //some code }).catch(function(error) { throw(error); }); Я немного сбит с толку: вызов catch что-нибудь дает? Мне кажется, что это не имеет никакого эффекта, так как просто выдает ту же ошибку, которая была поймана. Я основываю это...

86
Как тогда справиться с обещанием if-else?

В некоторых случаях, когда я получаю возвращаемое значение от объекта обещания, мне нужно запустить две разные then()прецессы в зависимости от условия значения, например: promise().then(function(value){ if(//true) { // do something } else { // do something } }) Я думаю, может, я смогу написать это...