简单的Firebase数据检索

Simple Firebase Data retrieval

本文关键字:检索 数据 Firebase 简单      更新时间:2023-09-26

我只是想执行一个简单的firebase数据检索。这是我的

var fb = new Firebase("https://<my-app>.firebaseio.com");
fb.on('value', function(snapshot) {
  var db = snapshot.val();
  var speed = db['speed'];
 });
console.log(speed);
rnd = Math.floor( Math.random() * 7 );
fb.set({ speed: rnd});

我遇到的问题是速度卡在fb.on区域内。我该怎么把它弄出来?

您的代码没有被卡住,而是调用错误。

fb.on('value', function(snapshot) {
  var db = snapshot.val();
  var speed = db['speed'];
});

这里您提供了一个带有局部变量speed的回调函数。这个变量可能会被正确设置,但你没有用它做任何事情

console.log(speed);
rnd = Math.floor( Math.random() * 7 );
fb.set({ speed: rnd});

此代码在设置事件处理程序(fb.on( 'value', ... ))后直接运行,但该代码异步运行。此时,该函数可能不仅没有运行,而且您正在访问一个未声明的变量speed,因为它没有声明,所以它是一个自动全局变量window.speed,而不是回调函数中的局部变量speed

console.log移动到回调函数内部,以便在正确的时间执行它。此外,请始终声明您的变量。