【发布时间】:2019-08-29 00:07:18
【问题描述】:
一旦我调用 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 post 参数 email 收到了,现在我使用“foreach”来搜索拥有此类电子邮件的用户。一旦我找到它,我用另一个参数“name”更新它的名字,然后我返回 true 以退出 foreach 循环。但是,我收到一条警告消息,说我错过了一个返回,这是在代码永远不会进入 if 语句的情况下。在正常情况下,我会获取数组的长度,一旦循环结束,我会返回 false,但在这里我不能。
我的数据库:
users
-Lbq98URniAej2TkWBhG
email: "pepe@san.com"
name: "Pepe"
-Lbq9GC1A131De-iumI0
email: "pipa@boca.com"
name: "Pipa10"
【问题讨论】:
-
嗨 vlAZ 我说的是 firebase 实时数据库,请参阅此处的文档:firebase.google.com/docs/reference/js/…
标签: javascript firebase-realtime-database