批量写入 - OnSuccess方法何时到达?

时间:2017-10-19 19:24:53

标签: firebase google-cloud-firestore

我已阅读关于batched writes的{​​{3}},但我不明白何时达到onSuccess方法:

  1. 执行完所有写入后。
  2. 完成所有写入后。
  3. 成功完成所有写入后。
  4. 或者以上都不是......

    感谢。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

批量写入是原子的,因此它将成功完成所有写入,否则将失败所有写入。

因此,一旦批量写入完成,它将调用onSuccess()方法,如果它成功并且所有写入都已提交,或者它将调用onFailure()方法,如果它没有成功且没有写作已经提交。