2017-10-19 47 views

回答

1

一批写是原子,所以它要么成功完成所有写入,否则就会失败写入所有

所以一旦批量写入完成,如果它成功并且所有写入都已提交,它将调用onSuccess()方法,否则将调用onFailure()方法(如果未成功并且没有提交任何写入)。

+0

嗨迈克尔firebase是真棒,但它似乎干扰xcode中的调试:https://stackoverflow.com/questions/46675100/cannot-debug-in-xcode-debug-info-from-this-module-will -be-不可用 - 在最DE/46829887#46829887。这是一个已知的问题? – Crashalot

+0

哇,我们的答案有完全相同的时间戳! – Grimthorr

3

与其他Firestore写入和读取操作一样,WriteBatch#commit()方法会生成并返回Task实例,该实例将在后台执行该工作。

如果任务成功完成,将会调用附加到此Task的成功侦听器。这有点像附加一个完整的监听器,然后检查任务结果是否成功。

BatchWrite的情况下,批处理中的所有写操作均作为单个原子单位提交,因此只有在所有写操作都成功后才会返回成功。