Мне очень трудно решить эту проблему, которую я сейчас испытываю.Видите ли, я использую Firebase в качестве базы данных для хранения и извлечения данных.
Сейчас я хочу иметь возможность возвращать массив, который создается внутри вызова Firebase .once, но у меня есть некоторыетрудности.Это мой код:
Вызов функции (функция возврата):
<p>{this.fetchStartingPrice(singleProduct.id)}</p>
Здесь я хочу отобразить конкретное значение, которое я пытаюсь получить ниже:
fetchStartingPrice(category){
let promises = [];
promises.push(this.fetchPrices(category));
Promise.all(promises).then(result => {
console.log(result);
})
}
Я только что использовал console.log, чтобы попытаться устранить ошибки.
fetchPrices(category){
var allPrices = [];
allProductsFirebase.child(category).once('value', (snapshot) => {
snapshot.forEach((childSnapshot) => {
if(childSnapshot.key == category){
allPrices.append(childSnapshot.val().brand);
}
});
return allPrices;
})
}
Итак, в основном, я хочу пройтись по allProductsFirebase, пытаясь сначала определитьбренд продукта, и если он совпадает с брендом, который использовался в качестве параметра в fetchStartingPrice(
) и fetchPrises (), я хочу сохранить конкретную цену этого продукта в массиве цифр (цен).После того как я просмотрел весь снимок, я хочу вернуть полный массив, содержащий только цены на товары, а затем через fetchStartingPrice()
я хочу использовать Math.min(promises)
, чтобы получить самое низкое число в этом массиве.Тем не менее, мне действительно тяжело это делать.Может ли кто-нибудь помочь мне с этим?
Я хочу иметь возможность, после всего этого, вернуть значение в fetchStartingPrice()
.