我是初学者,学习Javascript,我正在制作游戏。
此时,高分将被设置为本地存储。现在我正在学习一个firebase数据库,而highscore正在更新到firebase,但是当我刷新它时会再次从0开始,因为它会在得分时更新>高分。
我想在重新加载页面时将localstorage highscore设置为firebase值。
我尝试了以下内容:
localStorage.setItem("highscore", firebase.database().ref('/score/currentHighscore').once('value'));
但这不起作用。有什么帮助吗?
我在firebase中的得分低于得分 - > currentHighscore。
答案 0 :(得分:1)
正如我在上面的评论中所解释的那样,once方法是异步的,所以你应该做类似的事情:
return firebase.database().ref('/score').once('value').then(function(snapshot) {
var highScore = snapshot.val().currentHighscore; //maybe test here it is not null
localStorage.setItem("highscore", highScore);
});
我建议你看一下https://firebase.google.com/docs/database/web/read-and-write#read_data_once