Поскольку данные из Firestore, возможно, должны поступать с сервера, они загружаются асинхронно. Значение, которое вы возвращаете из getWarehousesArray
, - это не фактический массив хранилищ (поскольку оно не будет доступно к моменту запуска return user...
), а Promise
из этих значений.
Чтобы получить актуальный список складов, вы можете использовать async
/ await
(если вы используете современный JavaScript):
var warehouses = await getWarehousesArray();
Вам нужно будет пометить функцию, содержащую этот код, как async
, как показано в этой статье MDN для async
/ await
.
В качестве альтернативы для более старых сред вы можете просто развернуть обещание:
getWarehousesArray().then(function(warehouses) {
console.log(warehouses);
... anything that uses warehouses needs to be inside this callback
})