Дмитрий Хребтов

Будет ли верным то утверждение, что Promise.raсe - это абстракция, позволяющая не использовать конструкцию с мемоизацией через функцию once?

В данном упражнении функция concat в любом случае произведет вычисления над каждым элементом коллекции, просто она не будет с результатом этого вычисления что-то делать, если 'переключатель' called находится в состоянии true.

Производит ли эти вычисления Promise.race, когда внешний коллбэк сработал (то есть любой из промисов зарезолвился или зареджектился), или все промисы также будут вычислены?

1 0

Kirill Mokevnin

Будет ли верным то утверждение, что Promise.raсe - это абстракция, позволяющая не использовать конструкцию с мемоизацией через функцию once?

Нет. Здесь же разная семантика. race про коллекцию промисов и самый быстрый ответ, once про одноразовый вызов.

Производит ли эти вычисления Promise.race, когда внешний коллбэк сработал (то есть любой из промисов зарезолвился или зареджектился), или все промисы также будут вычислены?

Экспериментальным путем выяснил что выполнится все:

var promise1 = new Promise(function(resolve, reject) {
    setTimeout(() => (console.log('one'), resolve), 500, 'one');
});

var promise2 = new Promise(function(resolve, reject) {
    setTimeout(() => (console.log('two'), resolve), 100, 'two');
});

Promise.race([promise1, promise2]).then(function(value) {
  console.log(value);
  // Both resolve, but promise2 is faster
});
// expected output: "two"
1

Похожие вопросы

Антон Кулиш 13 ноября 2019 →

Два экземпляра СИКП'а тому господину, кто это смог бы решить иммутабельно. А на сколько я понимаю, паралле...

Роман Надеин 16 августа 2019 →

В решении учителя cb в экспортируемой функции (concat) это тот же самый cb что мы определяем в each, если я...

quramolt 27 июля 2019 →

В какой-нибудь литературе описано, откуда вообще пришла идея такой реализации, как в предыдущем уроке с wat...

Сергей Егупов 22 апреля 2019 →

в теории при реализации each, правильнее ли будет определить oncedCallback после терминального условия (gua...

Эльдар Ахметов 16 декабря 2018 →

Что то совсем задание не даётся. Не понимаю, как замыкание использовать. Пока дальше такого ``` each(coll...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →