首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“等待”不适用于防火墙数据库引用

“等待”不适用于防火墙数据库引用
EN

Stack Overflow用户
提问于 2022-03-14 17:36:48
回答 1查看 60关注 0票数 0

因此,我试图使用twitter Api来测试功能和执行特定任务。我决定用消防站保存相关数据。但是,当我创建一个数据库引用并试图在代码中稍后使用await时,它会给出一个错误。这是密码。

代码语言:javascript
复制
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

const {Firestore} = require('@google-cloud/firestore');
const firestore = new firestore();
const dbRef = firestore.doc('tokens/demo');


const TwitterApi = require('twitter-api-v2').default;
const twitterClient = new TwitterApi({
  clientId: 'clientid',
  clientSecret: 'clientsecret',
});

const callbackURL = 'http://127.0.0.1:5001/twbt-ad868/us-central1/callback';

// STEP 1 - Auth URL
exports.auth = functions.https.onRequest((request, response) => {
    const { url, codeVerifier, state } = twitterClient.generateOAuth2AuthLink(
      callbackURL,
      { scope: ['tweet.read', 'tweet.write', 'users.read', 'offline.access'] }
    );
  
    // store verifier
    await dbRef.set({ codeVerifier, state });
  
    response.redirect(url);
  });

exports.callback = functions.https.onRequest((request, response) => {

});

exports.tweet = functions.https.onRequest((request, respone) => {});

这就是我所犯的错误

代码语言:javascript
复制
await dbRef.set({ codeVerifier, state });
^^^^^

SyntaxError: await is only valid in async function

我尝试使用这段代码来引用防火墙中的json文件,但是仍然会出现同样的错误

代码语言:javascript
复制
const dbRef = admin.firestore().doc('tokens/demo');

我认为这是因为我的程序没有正确地访问防火墙中的数据库?当我运行这个命令时

gcloud防火墙操作列表

我得到了

列出了0项。

如果是这样的话,我不知道如何解决这个问题,并让我的代码正确地访问数据库

谢谢您能为我提供的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2022-03-14 17:43:06

您必须创建一个异步函数,以便有一个等待,因为它需要一个承诺。

代码语言:javascript
复制
async function () { await dbRef.set({ codeVerifier, state });}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71471960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档