Как прервать загрузку данных между ними во время загрузки базы данных setValue? - PullRequest
0 голосов
/ 10 января 2020

У меня есть приложение, в котором пользователь нажимает кнопку, где изображение загружается в хранилище Firebase, а URL-адрес сохраненных изображений плюс некоторая дополнительная информация будет загружаться в базу данных Firebase по разным путям. Ниже приведен пример кода.

 val filename = UUID.randomUUID().toString()
val refImage = FirebaseStorage.getInstance().getReference("/images/$filename")
  refImage.putFile(uri)
  .addOnSucessListener{
  refImage.downloadUrl.addOnSuccessListener{
val uploadedImageuri = it.toString()
                    val Userref = FirebaseDatabase.getInstance().getReference("/Users/$user")
Userref.child("Imageuri").setValue(uploadedImageuri)

.addOnSuccessListener{
val groupref = FirebaseDatabase.getInstance().getReference("Groups/$user")

groupref.child("hasImage").setValue(true)

}
}
}


Вот что происходит, когда пользователь существует приложение до того, как imgae будет загружен на сервер? Будет ли задача asyn c запускать все коды внутри «downloadurl.addOnsuccessListener»?

если да, как остановить задачу между ними, когда пользователь либо нажимает кнопку отмены между процессами загрузки изображений, либо inte rnet отключает между ними?

...