我正在通过Android数据库使用Google Firestore,想知道onSuccessTask
和addOnSuccessListener
之间的区别。
例如,这是我更新Firestore文档的方法:
val doc = db.collection("books").document(book).update(data)
对于上述情况,要在更新完成时采取措施,我可以执行以下任一操作:
.onSuccessTask { } or .addOnSuccessListener { }
对我来说,得出的结果完全相同。
有人可以弄清区别是什么,应该使用哪一个吗?
最佳答案
Task的addOnSuccessListener()
方法有以下三种:
Task的
onSuccessTask()
方法有两种,分别是:您可能会看到,主要区别在于,如果使用
addOnSuccessListener()
,则返回的对象的类型为abstract Task<TResult>
,因此,每次使用它时,您都需要为此提供一个实现,而使用onSuccessTask()
方法时,该类型返回的对象的形式是<TContinuationResult> Task<TContinuationResult>
(不是抽象的)。