promise- все статьи тега
Javascript Promises vs Async Await. Разница?
Я уже использовал функции ES6 и ES7 (благодаря Babel) в своих приложениях - как мобильных, так и веб -. Первый шаг, очевидно, был сделан к уровням ES6. Я узнал много асинхронных паттернов, обещаний (которые действительно многообещающи), генераторов (не уверен, почему символ*) и т. д., Из всего этого обещания вполне соответствовали моим целям. И я довольно часто использую их в своих приложениях. Вот пример / псевдокод того, как я реализовал базовый обещание - var myPromise = new Promise( ...
C# эквивалент Scala Promise
В scala есть Promises и Futures. С помощью Promise я могу контролировать, когда Future завершается, т. е. val p = Promise[Int]() val fut: Future[Int] = p.future // I already have a running Future here // here I can do whatever I want and when I decide Future should complete, I can simply say p success 7 // and fut is now completed with value 7 Как я могу достичь аналогичных результатов с помощью API C# Task? Я не смог найти ничего подобного в документах. Я хочу использовать это в тесте, из ...
в jQuery deferreds и обещаний.тогда() и сделал()
Я читал о jQuery deferreds и обещаниях, и я не вижу разницы между использованием .then() & .done() для успешных вызовов. Я знаю Эрик Hynds отмечает, что .done() и .success() карта с той же функциональностью, но я предполагаю, что так делает .then() поскольку все обратные вызовы вызываются при завершении успешной операции. может кто-нибудь просветить меня на правильное использование? большое спасибо ...
Что такое явный антипаттерн конструкции обещания и как его избежать?
я писал код, который делает что-то похожее: 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 */ | .then(function(val) { d.resolve(val); | resolve(v ...
Как я могу сказать, является ли объект обещанием?
будь то обещание ES6 или обещание bluebird, обещание Q и т. д. Как проверить, является ли данный объект обещанием? ...
Разрешите обещания одно за другим (т. е. последовательно)?
рассмотрим следующий код, который считывает множество файлов в последовательный/последовательно. readFiles возвращает обещание, которое разрешается только после того, как все файлы были прочитаны в последовательности. var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) { return new Promise((resolve, reject) => var readSequential = function(index) { if (index >= files.length) { resolve(); } else { readFile(file ...
AngularJS: где использовать обещания?
Я видел несколько примеров сервисов входа в Facebook, которые использовали обещания для доступа к FB Graph API. Пример 1: this.api = function(item) { var deferred = $q.defer(); if (item) { facebook.FB.api('/' + item, function (result) { $rootScope.$apply(function () { if (angular.isUndefined(result.error)) { deferred.resolve(result); } else { deferred.reject(result.error); } }); }); } return deferred.promise; } и услуги ...
Нужно ли мне возвращаться после раннего разрешения / отклонения?
Предположим, у меня есть следующий код. function divide(numerator, denominator) { return new Promise((resolve, reject) => { if(denominator === 0){ reject("Cannot divide by 0"); return; //superfluous? } resolve(numerator / denominator); }); } Если моя цель-использовать reject чтобы выйти рано, я должен войти в привычку returning сразу после этого, а? ...
Как найти, какие обещания не обрабатываются в узле.js UnhandledPromiseRejectionWarning?
узел.js из версии 7 имеет синтаксический сахар async/await для обработки обещаний, и теперь в моем коде довольно часто появляется следующее предупреждение: (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 rejections that are not handled will terminate the Node.js process with a non-zero ...
Обещать.все: Порядок разрешенных значений
смотрим MDN похоже values перешло к then() обратный вызов обещания.все содержит значения в порядке обещаний. Например: 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: запуск такого кода показал, что это похоже на правду, хотя это, конечно, не доказательство - ...
Правильный способ написать циклы для обещания.
Как правильно построить цикл, чтобы убедиться, что после обещать звонок и приковали регистратор.log (res) работает синхронно через итерации? (Синяя птица) db.getUser(email).then(function(res) { logger.log(res); }); // this is a promise я попробовал следующий способ (метод от http://blog.victorquinn.com/javascript-promise-while-loop) var Promise = require('bluebird'); var promiseWhile = function(condition, action) { var resolver = Promise.defer(); var loop = function() { if ...
Чем отличаются Clojure futures и promises?
и фьючерсы, и обещания блокируются, пока они не рассчитали свои значения, так в чем же разница между ними? ...
Разница между microtask и macrotask в рамках цикла событий контекста
Я только что закончил читать спецификацию Promises/A+ и наткнулся на термины microtask и macrotask: см. http://promisesaplus.com/#notes Я никогда не слышал об этих терминах раньше, и теперь мне любопытно, какая разница может быть? Я уже пытался найти некоторую информацию в интернете, но все, что я нашел это сообщение из w3.org архивы (что не объясняет мне разницу): http://lists.w3.org/Archives/Public/public-nextweb/2013Jul/0018.html кроме того, я нашел модуль npm под названием "macrotask":htt ...
Как реализуется библиотека promise/defer? [закрытый]
Как это обещание / отложить библиотеку, как q реализованы? Я пытался прочитать исходный код, но нашел его довольно трудным для понимания, поэтому я подумал, что было бы здорово, если бы кто-то мог объяснить мне, с высокого уровня, какие методы используются для реализации обещаний в однопоточных средах JS, таких как Node и браузеры. ...
В AngularJS ресурса обещают
у меня есть простой контроллер, который использует $resource: var Regions = $resource('mocks/regions.json'); $scope.regions = Regions.query(); Я использую этот контроллер в директиве (в функции link) var regions = scope.regions; но регионы не определены. Это довольно логично, что вызов асинхронный. мой вопрос в том, как я могу сделать, чтобы ждать результата и регионы были массивом со всеми данными ? UPDATE : вот определение директивы app.directive('ngMap', function() { return ...
использование setTimeout в цепочке обещаний
здесь я пытаюсь обернуть голову вокруг обещаний.Здесь по первому запросу я получаю набор ссылок.и по следующему запросу я получаю содержимое первой ссылки.Но я хочу сделать задержку перед возвращением следующего обещания object.So я использую setTimeout на нем.Но это дает мне следующую ошибку JSON (without setTimeout() it works just fine) SyntaxError: JSON.разбор: неожиданный символ в строке 1 столбец 1 данные JSON я хотел бы знать, почему это не удается? let globalObj={}; function getL ...
Как сделать обещание от setTimeout [дубликат]
этот вопрос уже есть ответ здесь: как преобразовать существующий API обратного вызова в promises? 17 ответов это не проблема реального мира, я просто пытаюсь понять, как создаются обещания. мне нужно понять, как сделать обещание для функции, которая ничего не возвращает, как setTimeout. Предположим, у меня есть: function async(callback){ setTimeout(function(){ callback(); }, 5000); } ...
Возвращение обещаний от действий Vuex
недавно я начал переносить вещи из jQ в более структурированную структуру, являющуюся VueJS, и мне это нравится! концептуально, Vuex был немного сдвиг парадигмы для меня, но я уверен, что я знаю, что это все о сейчас, и полностью получить его! Но есть несколько небольших серых областей, в основном с точки зрения реализации. этот я чувствую себя хорошо по дизайну, но не знаю, противоречит ли он Vuex однонаправленных данных поток. в принципе, считается ли хорошей практикой возвращать объект об ...
Как правильно вернуть несколько значений из обещания?
Я недавно столкнулся с определенной ситуацией пару раз, которые я не знал, как решить должным образом. Предположим, что следующий код: somethingAsync() .then( afterSomething ) .then( afterSomethingElse ) function afterSomething( amazingData ) { return processAsync( amazingData ); } function afterSomethingElse( processedData ) { } теперь может возникнуть ситуация, когда я хотел бы иметь доступ к amazingData in afterSomethingElse. одним из очевидных решений было бы вернуть массив или хэ ...