我尝试使用多个快照来获取我的代码所需的信息。问题是,有时他们不按我需要的顺序执行。现在我像这样嵌套他们:
_ = ref.child("users").child(self.userKey).child("name").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
//execute block 1
let argToQuery2 = snapshot.value as! String
_ = ref.child("users").child(argToQuery2).child("job").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
//execute block2
......
})
})
但正如我所说,我发现块1并不总是在块2之前执行,我需要块1中的信息来完成块2.如何强制这些查询顺序发生?如果我只有两个查询,我会尝试使用布尔值来查看第一个块是否已经完成,但在我的实际代码中,我有5个这样的嵌套。
谢谢!