首页 > 解决方案 > 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();
  }

那里有来自服务器的明确获取,但结果并不新鲜

我错过了什么?

标签: firebasegoogle-cloud-firestoreangularfire2

解决方案


推荐阅读