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

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


20
Использование 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 = await fs.readFile(file, 'utf8') console.log(contents) }) } printFiles() …

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

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

2
Что такое явное обещание конструкции antipattern и как мне этого избежать?
Я писал код, который делает что-то похожее на: 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 */ …


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

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

18
Подождите, пока все обещания не будут выполнены, даже если некоторые отклонены
Допустим, у меня есть набор 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 => console.log('error', err)) // This is executed Допустим, я хочу подождать, пока все это не закончится, …

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

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


5
В чем разница между возвращаемым значением или 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) { return Promise.resolve("bbb"); }) .then(function(result) { console.log(result); }); Выполнить фрагмент кодаHide resultsРазвернуть фрагмент Я спрашиваю, как я …


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

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