a.t*_*aby 0 android ios firebase react-native google-cloud-firestore
如果我的设备处于脱机状态时运行以下代码,card则将添加到本地缓存中。但是应用程序永远不会进入下一行。
const data = await firebase.firestore().collection('cards').add(card);
console.log(data) // this line never get executed!
Run Code Online (Sandbox Code Playgroud)
add()一旦在服务器上完成(或拒绝)写操作,写方法(例如)将返回一个承诺。由于您未连接到服务器,因此永远不会发生,因此您await将保持阻塞状态。
请注意,您不需要await进行本地写操作,因为对本地缓存的写操作是同步进行的。因此,只要add(...)调用返回(并且不会引发异常),就可以确保已完成对本地缓存的写入。因此,仅await在需要知道写入也由服务器处理的情况下才应使用,在这种情况下,您看到的行为正是您想要的。
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |