我正在尝试从我的Firebase数据库中获取一个值,并且正在使用以下代码:
export const getCode = async key => {
let ref = await database.ref ('games/' + key).once('value');
console.log(ref);
console.log(ref.code);
return ref;
};
我从每个console.log获得的结果是:
ref
返回
Object {
"code": 665195,
"users": Object {
"-MA5m0PrOWUuz-KdcmRx": Object {
"username": "לעג",
},
},
}
但是ref.code
返回undefined
我花了几个小时在代码和stackoverflow上,却找不到答案。希望你能。
答案 0 :(得分:2)
您没有使用ref.val()获取值。
尝试
export const getCode = async key => {
let ref = await database.ref('games/' + key).once('value');
const data = ref.val();
console.log(data);
console.log(data.code);
return data.code;
};
答案 1 :(得分:0)
是否不返回ref
变量?您尚未声明任何名称为code
的东西,因此未定义它。
export const getCode = async key => {
let ref = await database.ref ('games/' + key).once('value');
return ref.code;
};
您也可以像酷孩子一样,如果要按原样使用它,请单行制作。
export const getCode = async key => await database.ref ('games/' + key).once('value').code
答案 2 :(得分:0)
如果ref
记录如下:
Object {
"code": 665195,
"users": Object {
"-MA5m0PrOWUuz-KdcmRx": Object {
"username": "לעג",
},
},
}
我怀疑这可能是因为您得到一个json字符串作为响应,除非您的开发环境默认情况下引用了键。
也许尝试let ref = JSON.parse(await database.ref ('games/' + key).once('value'));