FirestoreやFirestrageで同時に複数の処理を行う
【taskA】 FirestoreからドキュメントAを取得する
【taskB】 FirestoreからドキュメントBを取得する
といった2つのタスクを同時に行うとします。
このタスクAとBの両方が成功したときに、printlnします。
タスクの取得
データを取得するときにタスクが返されます。
val taskA = db.collection("user").document("A").get()
val taskB = db.collection("user").document("B").get()
両方のタスクが成功した時に呼ばれるリスナー
Tasks.whenAllSuccess<Any>(taskA, taskB)
.addOnSuccessListener{
println("両方のタスクが成功しました")
}
これで両方のタスクが成功するとプリントされます。
.addOnFailureListener
.addOnCompleteListener
も同じようにして呼び出すことができます。