Как разрешить массив обещаний?

Чтобы передать массив значений в любую функцию , которая обычно ожидает их отдельных параметров, используйте Function.prototype.apply, поэтому в этом случае вам понадобятся:

$.when.apply($, my_array).then( ___ );

См. http://jsfiddle.net/YNGcm/21/

В ES6 вы можете использовать оператор ... spread :

$.when(...my_array).then( ___ );

В любом случае, поскольку маловероятно, что вы заранее узнаете, сколько формальных параметров потребует обработчик .then, этот обработчик должен будет обработать массив arguments, чтобы получить результат каждого обещания.

0
задан Kreha 15 January 2019 в 23:04
поделиться

1 ответ

Результат из обещаний передается в качестве аргумента функции обратного вызова из .then(), но вы его не используете. Попробуйте что-то вроде этого:

Promise.all(customs).then((results) => {
      console.log('then', results);
      // ...
});
0
ответ дан Aioros 15 January 2019 в 23:04
поделиться
Другие вопросы по тегам:

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