Promise.all
принимает массив из Promises
, а не Promises
, перечисленные друг за другом в списке параметров.Измените на:
const fetchAll = () => Promise.all([
fetchPrices(),
fetchSupplies()
]);
Обратите внимание, что
.then((resultsArray) => {
return resultsArray;
});
является лишним;существующий Promise
преобразуется в массив результатов, поэтому вызов .then
для него цепочки другого Promise
для него, который принимает этот массив результатов и преобразуется в этот массив, не делает ничего полезного;Вы можете полностью его исключить.
Кроме того, нет необходимости использовать Promise.resolve
- я не знаю, что getPrices
и getSupply
возвращают, но если вы передадите не-Обещания в Promise.all
, не будет выдано никакой ошибки, результирующий массив будет просто включать эти значения.(Если обещания возвращены, то Promise.all
разрешится, когда все такие обещания будут разрешены.) Таким образом, вы можете сделать:
const fetchAll = () => Promise.all([
getPrices(),
getSupply()
]);
(конечно, если оба getPrices
и getSupply
вернутсяне обещания, тогда нет нужды в Promise.all
, во-первых)