我正在尝试通过Android设备更新firestore
文档。该代码是instrumented test
的一部分,我必须同步调用Firestore
来更新文档。
DocumentReference ref=db.collection("country").document("city")
.collection("Delhi").document("LajpatNagar");
Task<Void> temp=ref.update("isPinCodeAdded",true);
while(!temp.isSuccessful()){
}
执行在无限while loop
中运行,并且任务永远不会成功。
那么如何在android instrumented tests
到firestore
之间进行同步通话?
答案 0 :(得分:1)
您可以通过以下方式阻止线程并等待Firebase任务的结果
Tasks.await(YOUR_TASK)
在您的情况下,代码应为
Task<Void> temp = Tasks.await(ref.update("isPinCodeAdded",true));
有关更多详细信息,请参见documentation。
请记住,Android不允许您阻止主线程,因此如果您使用主线程,则不要这样做。