FireBase облачное хранилище и загрузки FireStore для Android - PullRequest
0 голосов
/ 02 ноября 2018

Я работаю над проектом, который включает загрузку данных в облачное хранилище Firebase и изображений в Firestore. Я работаю на платформе Android.

План состоит в том, чтобы загрузить изображение в хранилище, одновременно загружая данные в Firestore. Этот шаг довольно прост, но проблема возникает при обработке ошибок. Если одна из загрузок не удалась, я бы хотел, чтобы обе они потерпели неудачу или хотя бы удалили другую запись, если это будет нормально.

Моя лучшая идея - загрузить одну из них в onSuccessListener. Затем выполните следующую загрузку. Это просто кажется плохим дизайном. Я не могу найти хорошее решение для загрузки обоих одновременно, а затем оценивать результат, не вкладывая много времени в ожидание.

1 Ответ

0 голосов
/ 02 ноября 2018

Если вы не хотите использовать стиль вложенного кода, попробуйте Google Task API.

Поскольку оба ваших кода загрузки будут возвращать объект задачи, вы можете позвонить

Tasks.whenAllComplete(taskToFirestore, taskToStorage)

Приведенный выше код вернет объект Task, поэтому вы можете добавить к нему addOnSuccessListener() или addOnFailureListener(). Затем вы можете проверить состояние taskToFirestore и taskToStorage в том же слушателе

...