使用addOnCompleteListener()而不是onComplete()函数,来保证Firestore操作的异步性。
示例代码:
// 通过使用addOnCompleteListener()来解决异步问题
db.collection("users").document("123").update("name", "John Doe")
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
Log.d(TAG, "DocumentSnapshot successfully updated!");
} else {
Log.d(TAG, "Error updating document", task.getException());
}
}
});