当前位置: 首页 > 面试题库 >

尝试从Firebase获取子记录

阎丰羽
2023-03-14
问题内容

我正处在角度火种的教程阶段,并尝试了消息和子帖子,出于某些奇怪的原因,当我明确尝试显示子对象时,我看不到子对象,但是在控制台的父节点上展开时却可以看到子对象。这些消息在ng-
repeat所在的html中正确显示,所以我知道至少得到了消息,尽管没有孩子。

我以为angularfire-seed utils可能会砍掉或切掉一些孩子,所以我回到了直火基地

这就是我所拥有的:

Code:
-----
var url = fbutil.ref() + "/messages/";
var ref = new Firebase(url);

var sync = $firebase(ref).$asArray();

console.log(sync);          //this I can see as a proper $firebaseArray object
console.log(sync.length);   //this displays as 0 even though length is 3 in object above
console.log(sync[1]);       //displays as undefined

Data:
----
messages/id1/text
        /id2/text
        /id2/post
        /id3/text

在此先感谢您指出我的误会!


问题答案:

您似乎不喜欢常见的异步问题。

这是您的代码片段:

var sync = $firebase(ref).$asArray();

console.log(sync);        //this I can see as a proper $firebaseArray object
console.log(sync.length); //this displays as 0 even though length is 3 in object above
console.log(sync[1]);     //displays as undefined

调用$asArray()不会立即返回Firebase数组,因为从Firebase服务器提取数据可能需要一些时间。因此,它返回的是Firebase阵列的
承诺 ,将来会包含您的数据。

到您console.log(sync)在控制台中检查出out时,数据将已下载,因此(如您所说)它是正确的同步阵列。但是当该console.log(sync.length)行运行时,数据可能尚未下载。

您可以等待使用该$loaded()方法下载数据。所以:

var sync = $firebase(ref).$asArray();

console.log(sync);
sync.$loaded().then(function(sync) {
  console.log(sync.length); 
  console.log(sync[1]);     
}


 类似资料:
  • 问题内容: 当我尝试获取我的keyChain值时,它返回一个包含以下内容的字符串: 因此,我尝试使用循环删除“可选”: 但我得到一个错误:NSString没有名为“下标”的成员 KeychainService类: 我只是不想删除str周围的Optional东西,还是有更好的方法呢? 我从以下代码中获取了代码: http://matthewpalmer.net/blog/2014/06/21/exa

  • 我收到以下异常- org.hibernate.exception.sqlgrammarexception:无法插入:[Employee] 以下是详细信息: hibernate.cfg.xml employee.hbm.xml 请帮助解决异常。提前道谢!

  • 我是JMS新手,正在尝试使用Glassfish应用服务器执行我第一个JMS程序。 我在Glassfish管理控制台中创建了连接工厂[JMS/MyQueueFactory]和目标资源[JMS/MyQueue],如下所示: 以下是我的代码: 请让我知道我在这里错过了什么。 多谢了。

  • 我试图从以下URL获取json字符串:http://status.mojang.com/check 感谢任何帮助

  • 我正在尝试实现一个Android应用程序,它启动一个子活动,计算我当前位置的坐标。然而,在尝试将数据发送回MainActivity时,我在onActivityResult方法中得到了一个NullPointerException。以下是两个类: } 编辑:这是我的日志 03-13 13:06:59.940 14638-14638/会面。be2015.gcm\U meetup E/AndroidRun

  • 我一直无法从Firebase中获取显示名称。下面是注册过程编码 控制台.log显示“用户名集!”,控制台.log(firebaseUser)显示显示名称是在当前用户的数据库中设置的,并且名称是我期望的。然而 给出null,并且 这也返回为null。 我一直在寻找获取firebase数据集数据的方法,但我无法做到这一点。 如果有人能给我一些建议,那就太好了。 非常感谢。