# #javascript #firebase #fetch-api
Вопрос:
Я создаю сайт электронной коммерции и хочу обновлять информацию в базе данных firebase, когда клиент покупает группу товаров. до сих пор я узнал, что для обновления данных в хранилище firebase в реальном времени мне придется использовать это
db = firebase.database().ref('details').child(path);
db.update({
stock: amount you want to update to
})
}
это полезно, но я хотел обновить несколько файлов на основе того, что было куплено, поэтому я создал функцию для получения информации, которую мне нужно передать, в зависимости от того, что я хотел обновить, что-то вроде этого
// this is where everything is stored when items() is done doing what it does
var itemsA = {}
function items(arr1, arr2, arr3,arr4){
arr4 = Object.values(arr4)
arr1.forEach((item,index) => {
itemsA[add ] = {
1: arr1[index],
2: arr3[index],
3: arr4[index]-arr2[index]
}
});
}
//passes values into items() so itemsA can get populated
items(id,quantityA,path,amountInStock)
itemArray = Object.keys(itemsA);
for( let s = 0; s < itemArray.length; s ){
db = firebase.database().ref('details').child(itemsA[s][2]);
db.update({
stock: itemsA[s][3]
})
}
если бы я поставил значение 4 вместо (itemsA[s][3]) в качестве обновления, это сработало бы, но в ту секунду, когда я передаю переменную, она показывает ошибку, которая возникнет только в том случае, если кто-то выполнит мой запрос к моему api.
Примечание: код выполняется, если запрос на извлечение в платежный api успешен. Есть какие-нибудь идеи или указания? тнх
Комментарии:
1. Попробуйте
console.log(itemsA[s][3])
, а чтоitemArray
в ваших кодах?2. извините, я забыл добавить, itemArray-это Object.keys(itemArray), я сразу добавлю это в свой пост, и я сделал console.log(itema[s][3]) это значение, которое он обновил в firestore, которое я получил, вычитая купленную сумму из суммы на складе
3. Пожалуйста, сначала исправьте свои коды.
itemsA[add ]
Чтоadd
у вас в кодах?