Я получаю предупреждение «ожидается получение значения в конце функции стрелки», как только я вызываю функцию foreach, чтобы пройти через каждого потомка и обновить соответствующую запись.
var email = req.body.email;
var name = req.body.name;
var result = false;
userRef.once('value', snapshot => {
result = snapshot.forEach(child => {
if (child.val().email === email){
console.log(child.key);
admin.database().ref('users/'+child.key).update({name: name}).then(result =>{
res.status(200).json({message: 'Updated'});
return true;
})
.catch(err => {
console.log(err);
return false;
});
return true;
}
});
if (result === false){
res.status(200).json({message: 'User does not exist'});
}
});
Я получил отhttp отправьте параметр email, теперь я использую foreach для поиска пользователя, у которого есть такая электронная почта.Как только я нахожу его, я обновляю его имя другим параметром 'name' и возвращаю true, чтобы выйти из цикла foreach.Однако я получаю предупреждение о том, что мне не хватает одного возврата, что в случае, если код никогда не попадет в if statemente.В обычной ситуации я бы взял длину моего массива и вернул бы false, как только цикл достигнет своего конца, но здесь я не могу.
Моя база данных:
users
-Lbq98URniAej2TkWBhG
email: "pepe@san.com"
name: "Pepe"
-Lbq9GC1A131De-iumI0
email: "pipa@boca.com"
name: "Pipa10"