javascript - Vuexfire bindFirestoreRef 不等待绑定完全解决
问题描述
绑定到 Firestore 集合时,我遇到了一个奇怪的场景。基本上,我得到了 x 个文件。但我注意到,当 then() 函数中的代码运行时,它不会一次返回所有数据。但是当它检索到所有文档时。所以,我的问题是为什么绑定过早完成?根据 vuexfire 文档:
返回一个 Promise,一旦数据被完全提取并同步到状态中,该 Promise 就会被解决。
我只调用这个函数一次,所以如果文档是正确的,难道不应该在承诺解决之前获取所有 5 个事件吗?
这是我的代码
setFirstUsers: firestoreAction((context,str) => {
return context.bindFirestoreRef("firstUsers",db.collection("Users").orderBy("name","asc").startAt(`${str}`).endAt(`${str}\uf8ff`).limit(10),
{serialize:customSerializer}).then((users)=>{
console.log("First users:",users);
context.commit("mergeUsers");
context.commit("setLoadMoreFriendLast");
});
}),
当承诺解决时,它不会获得所有文件。过了一会儿,得到所有文件。可以通过添加几个 2000 毫秒超时来修复它,但这似乎不是最佳解决方案。
谢谢
解决方案
推荐阅读
- nearprotocol - 尝试在附近调用 changemethods 后获取 FinalExecutionOutcome 的交易详细信息
- c++ - OpenGL 错误(#97) 即使着色器正确并成功从文件中读取,也没有找到程序主程序
- unix - 在 Unix 上点安装 systemd
- java - 像素图像数据,可以调整大小吗?
- java - while循环时间复杂度内的两个条件
- project-reactor - Reactor Publisher Timer 指标的单位是什么?
- python - 自动化 Selenium Headless 模式错误
- c# - Linq用多个词搜索词搜索多列
- azure-devops - xUnit 测试在本地运行,但不在 Azure DevOps 上运行
- keycloak - 带有 Vercel 的动态 URL 的 keycloak 有效重定向 URI