我正在使用:ref.putFile(file).addOnSuccessListener(taskSnapshot -> { ref.getDownloadUrl().addOnSuccessListener(uri -> { String downloadUrl = uri.toString(); Map<String, Object> map = new HashMap<>(); map.put("profilePic", downloadUrl); uidDocRef.update(map); });});將圖像上傳到 Firebase 存儲。成功添加后,我使用downloadUrl來更新用戶配置文件。問題是當(dāng)我嘗試寫入 Firestore 時出現(xiàn)錯誤。圖像被添加,但相應(yīng)的 url 沒有。我想做一些像同步更新這樣的事情,它們是原子的:要么所有更新成功,要么所有更新失敗。這個怎么做?
1 回答

尚方寶劍之說
TA貢獻(xiàn)1788條經(jīng)驗 獲得超4個贊
這些操作跨越不同的服務(wù),甚至可能跨越不同的可用區(qū)。沒有辦法讓它們原子化。
雖然聽從阿里的建議,從客戶端回滾絕對可以降低風(fēng)險,但是沒有辦法讓這些操作原子化。但是到了某個時候就會出現(xiàn)客戶端無法回滾的故障
對于不可避免的失敗,最常見的方法是使您的代碼在后面的操作失敗時再次變得健壯,并偶爾進(jìn)行清理。
添加回答
舉報
0/150
提交
取消