firebase - AngularFire Firestore 没有得到新的书面文件
问题描述
我有一个写入用户文档的云函数,例如访问令牌然后在调用该函数并等待之后,我开始读取文档。
但是,读取的文档很旧。
云函数是这样写文档的:
await admin.firestore().collection('garminHealthAPITokens').doc(userID).set({
oauthToken: urlParams.get('oauth_token'),
oauthTokenSecret: urlParams.get('oauth_token_secret'),
state: crypto.randomBytes(20).toString('hex')
})
// Send the response wit hte prepeared stuff to the client and let him handle the state etc
res.send({
redirect_url: REQUEST_TOKEN_CONFIRMATION_URI,
})
这是客户端的部分代码:
const redirectURI = await this.userService.getCurrentUserGarminHealthAPIRedirectURI(); // Function updates token
// This doesn't return the written token of the above but rather an older (prev) one
const token = await this.userService.getGarminHealthAPITokenAsPromise(this.user);
这是我如何调用 AngularFire 文档
public async getGarminHealthAPITokenAsPromise(user: User): Promise<{oauthToken: string, oauthTokenSecret: string, state: string}> {
return this.afs
.collection('garminHealthAPITokens')
.doc(user.uid)
.get({source: 'server'})
.pipe(catchError(error => {
return [];
}))
.pipe(take(1))
.pipe(map((doc) => doc.data()))
.toPromise();
}
那里有来自服务器的明确获取,但结果并不新鲜
我错过了什么?
解决方案
推荐阅读
- mysql - MySQL程序,基于识别号的女性或男性
- java - switch 中的类似情况,差别不大
- ruby-on-rails - Grouped_select:如何在组下显示特定的选择?
- css - 是否可以使用内部的所有控制器更改整个组件的大小(例如调整窗口大小)
- firebase - Firebase 实例 ID 是机密数据吗?
- javascript - 在 Firebase 身份验证中更新电话号码 - React Native
- model-view-controller - 如何在mvc中显示值文本而不是下拉列表的ID
- c# - 为 Windows 窗体应用程序创建搜索功能
- c# - 动态添加到 TableLayoutPanel 的行显示在不同的行位置
- ios - 在 Swift 中共享位置