我创建了这个函数:
apt-get install mysql-server
然后我想在这个之外使用变量var IDOfUserToKill = 'tralala';
export function getIDOfUserToKill(userID, gameID) {
let path = '/games/' + gameID + '/users/' + userID;
fb.database().ref(path).on('value', snapshot => {
IDOfUserToKill = '';
if (snapshot.val()) {
IDOfUserToKill = snapshot.val().userToKill;
console.log(IDOfUserToKill); // return the good ID
}
});
}
userID = IDOfUserToKill; // return "tralala" and not the good ID
。因为如果我使用IDOfUserToKill
,它将返回在函数(tralala)之前定义的值而不是ID。
如何检索变量的内容? (我使用React Native)。
答案 0 :(得分:1)
此功能:
fb.database().ref(path).on('value', snapshot => {
IDOfUserToKill = '';
if (snapshot.val()) {
IDOfUserToKill = snapshot.val().userToKill;
console.log(IDOfUserToKill); // return the good ID
}
});
是异步的,这意味着它在完成之前会转移到另一个任务。
这就是为什么在on()
内部获得数据库中的id
,而在外部,userID = IDOfUserToKill;
,您获得值'tralala'
。
要了解有关异步检查的更多信息,请执行以下操作: