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

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

1133
Использование async / await с циклом forEach

Есть ли проблемы с использованием async/ awaitв forEachцикле? Я пытаюсь перебрать массив файлов и awaitсодержимое каждого файла. import fs from 'fs-promise' async function printFiles () { const files = await getFilePaths() // Assume this works fine files.forEach(async (file) => { const contents...

721
Как преобразовать существующий API обратного вызова в обещания?

Я хочу работать с обещаниями, но у меня есть API обратного вызова в таком формате: 1. Загрузка DOM или другое одноразовое событие: window.onload; // set to callback ... window.onload = function() { }; 2. Простой обратный вызов: function request(onChangeHandler) { ... } request(function() { //...

650
Как получить доступ к предыдущим результатам обещания в цепочке .then ()?

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

475
AngularJS: инициализировать сервис с асинхронными данными

У меня есть служба AngularJS, которую я хочу инициализировать с некоторыми асинхронными данными. Что-то вроде этого: myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData =...

473
jQuery откладывает и обещает - .then () против .done ()

Я читал об отсрочках и обещаниях jQuery и не вижу разницы между использованием .then()& .done()для успешных обратных вызовов. Я знаю, что Эрик Хиндс упоминает об этом .done()и .success()сопоставляет с той же функциональностью, но я предполагаю, что так и происходит, .then()поскольку все...

430
Разве обещания не являются просто обратными вызовами?

Я разрабатывал JavaScript в течение нескольких лет, и я совсем не понимаю суеты по поводу обещаний. Кажется, что все, что я делаю, это изменения: api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); Для чего я мог бы использовать библиотеку async для чего-то...

405
Подождите, пока все обещания не будут выполнены, даже если некоторые отклонены

Допустим, у меня есть набор 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 =>...

385
Обещания JavaScript - отклонить против броска

Я прочитал несколько статей на эту тему, но мне все еще не ясно, есть ли разница между Promise.rejectвыдачей ошибки. Например, Использование Promise.reject return asyncIsPermitted() .then(function(result) { if (result === true) { return true; } else { return Promise.reject(new PermissionDenied());...

384
Что такое STD :: обещание?

Я достаточно знаком с C ++ 11 -х годов std::thread, std::asyncи std::futureкомпоненты (например , см этот ответ ), которые являются прямо вперед. Тем не менее, я не могу понять, что std::promiseесть, что он делает и в каких ситуациях его лучше всего использовать. Сам стандартный документ не...

314
В чем разница между возвращаемым значением или Promise.resolve от then ()

В чем разница между: new Promise(function(res, rej) { res("aaa"); }) .then(function(result) { return "bbb"; }) .then(function(result) { console.log(result); }); Выполнить фрагмент кодаHide resultsРазвернуть фрагмент и это: new Promise(function(res, rej) { res("aaa"); }) .then(function(result) {...

284
Как отказаться от асинхронного / ожидающего синтаксиса?

Как я могу отклонить обещание, возвращаемое функцией 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:...

280
Разрешить Javascript Promise вне области действия функции

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

269
Разрешать обещания одно за другим (т.е. по порядку)?

Рассмотрим следующий код, который читает массив файлов в последовательном / последовательном порядке. readFilesвозвращает обещание, которое разрешается только после последовательного чтения всех файлов. var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) {...

267
Обработка ошибок в Promise.all

У меня есть массив Обещаний, с которыми я разрешаю Promise.all(arrayOfPromises); Я продолжаю цепочку обещаний. Выглядит примерно так existingPromiseChain = existingPromiseChain.then(function() { var arrayOfPromises = state.routes.map(function(route){ return route.handler.promiseHandler(); });...