gpt4 book ai didi

javascript - snapshot.val() 返回未定义,但它正确记录。 Node.js 火力基地

转载 作者:行者123 更新时间:2023-12-05 03:51:26 25 4
gpt4 key购买 nike

我不知道为什么,但是当我在 snapshot.val() 中返回对象时,它不会返回任何东西到我的前面,但是当我在 console.log() 中返回对象时,它会正确显示对象。以下是我的返回方式:

function Loggear({ email, password }) {
db.ref("Usuarios")
.orderByChild("email")
.equalTo(email)
.on("child_added", (snapshot) => {
console.log(snapshot.val())
return snapshot.val();
});
}

它如何在 console.log() 上显示我的对象:

{
ciudad: 'Buenos Aires',
codigoPostal: '1000',
direccionCalle: 'la casa de tomas',
direccionNumero: '1',
documento: '1',
email: 'firebase@pruebita.com',
fechaNacimiento: '1111-01-01',
nombreCompleto: 'firebase',
password: 'contraseña',
telefonoCelular: '1233'
}

最佳答案

如果你只想获取一次数据,使用once()而不是 on() , 如 documentation 所示. on() 在某个数据库位置设置一个持久监听器,每当该位置发生变化时都会调用您的回调函数。那不是你想要的。而是使用 once(),它返回使用数据快照解析的 promise :

function Loggear({ email, password }) {
return db.ref("Usuarios")
.orderByChild("email")
.equalTo(email)
.once("value", (snapshot) => {
console.log(snapshot.val())
return snapshot.val();
});
}

关于javascript - snapshot.val() 返回未定义,但它正确记录。 Node.js 火力基地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62917275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com