批处理写入 - OnSuccess方法何时到达?
问题描述:
我看了documentation有关batched writes
,但达到onSuccess
方法时,我不解地问:批处理写入 - OnSuccess方法何时到达?
- 所有的写操作之后被处决。
- 完成所有写入操作后。
- 所有的写入都成功完成后。
或者以上都不是...
感谢。
答
一批写是原子,所以它要么成功完成所有写入,否则就会失败写入所有。
所以一旦批量写入完成,如果它成功并且所有写入都已提交,它将调用onSuccess()
方法,否则将调用onFailure()
方法(如果未成功并且没有提交任何写入)。
答
与其他Firestore写入和读取操作一样,WriteBatch#commit()
方法会生成并返回Task
实例,该实例将在后台执行该工作。
如果任务成功完成,将会调用附加到此Task
的成功侦听器。这有点像附加一个完整的监听器,然后检查任务结果是否成功。
在BatchWrite
的情况下,批处理中的所有写操作均作为单个原子单位提交,因此只有在所有写操作都成功后才会返回成功。
嗨迈克尔firebase是真棒,但它似乎干扰xcode中的调试:https://*.com/questions/46675100/cannot-debug-in-xcode-debug-info-from-this-module-will -be-不可用 - 在最DE/46829887#46829887。这是一个已知的问题? – Crashalot
哇,我们的答案有完全相同的时间戳! – Grimthorr