【发布时间】:2020-02-17 12:04:38
【问题描述】:
我是一名 android 开发人员,正在学习使用 swift 为 iOS 编写我的应用程序。我不确定如何运行多个 firebase(firestore 和实时数据库)异步编写任务并返回完成处理程序。在 android 中,我使用 Tasks API 并将其编写如下:
Task<Void> firestoreTask = firestoreDB.getDocument("users/someId").update("name", "some name");
Task<Void> realtimeTask = realtimeDB.child("users/someId/name/").setValue("some name");
Tasks.whenAll(firestoreTask, realtimeTask).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// if both tasks are successful
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// if at least one of the two task fails
}
});
我似乎不知道如何快速编写这样的任务。有人可以指出我正确的方向吗?谢谢。
【问题讨论】:
-
我不太了解 Android,但我假设您尝试做的是执行两个不同的异步请求并在完成时进行回调?
-
正确。这些任务不能独立运行,因为根据数据库安全规则,我不能让一个任务失败而另一个任务成功。如果一项任务失败,那么另一项也应该失败。
标签: ios swift firebase firebase-realtime-database google-cloud-firestore