我有一段以非常奇怪的方式运行的代码,我不知道为什么
var firebaseConfig = {theConfig};
firebase.initializeApp(firebaseConfig);
var why;
console.log("Why 1:");
console.log(why);
var totalRef = firebase.database().ref('voice/total');
totalRef.once('value').then(function(snapshot){
why = snapshot.val();
console.log("Why 2:");
console.log(why);
});
console.log("Why 3:");
console.log(why);
控制台输出如下:
Why 1:
undefined
Why 3:
undefined
Why 2:
The actual database data..
为什么代码会像这样跳过所有内容,然后再完成。最重要的是,在最后一部分我不理解为什么变量“为什么” 未定义。我在互联网上发现的所有内容是,我必须在函数外部声明变量,但是我做到了,但它不起作用。