Firebase:如何检查查询完成? (迅速)

时间:2016-07-21 01:11:32

标签: swift firebase firebase-realtime-database observers

我在尝试从firebase查询数据时显示微调器,并在返回查询结果时隐藏它。 有没有办法知道查询是否已经完成检索所有数据? ?

self.handle = self.ref.child("users").observeEventType(.Value, withBlock: { (snapshot) in
        if snapshot.exists() {
            print ("snapshot exist")
            print (snapshot.childrenCount)
        }
        else {
                print ("snapshot doesn't exist")
            }
        })

1 个答案:

答案 0 :(得分:2)

当调用.Value观察者的回调块时,它将获取当前为该位置所知的所有数据。所以你可以隐藏块中的微调器:

self.handle = self.ref.child("users").observeEventType(.Value, withBlock: { (snapshot) in
    // TODO: hide spinner here
    if snapshot.exists() {
        print ("snapshot exist")
        print (snapshot.childrenCount)
    }
    else {
        print ("snapshot doesn't exist")
    }
})

请注意,Firebase观察器会保持同步数据,因此您可以多次运行阻止。