Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
la referencia de la base de datos de firestore no funciona con await

Así que estoy tratando de usar la API de Twitter para probar la funcionalidad y realizar tareas específicas. Decidí usar firestore para mantener los datos relevantes. Sin embargo, cuando creo una referencia de base de datos e intento usar await más adelante en el código, me da un error. Este es el código.

 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) => {});

y este es el error que me sale

 await dbRef.set({ codeVerifier, state }); ^^^^^ SyntaxError: await is only valid in async function

Intenté usar este código en su lugar para hacer referencia al archivo json en firestore, pero sigo recibiendo el mismo error

 const dbRef = admin.firestore().doc('tokens/demo');

Supongo que esto se debe a que mi programa no accede correctamente a la base de datos en Firestore. Cuando ejecuto este comando

lista de operaciones de gcloud firestore

yo obtengo

Listado 0 artículos.

Si este es el caso, no estoy seguro de cómo solucionarlo y hacer que mi código acceda a la base de datos correctamente

Desde ya agradezco cualquier ayuda que me puedan brindar.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe crear una función asíncrona para tener una espera, ya que requiere una promesa.

 async function () { await dbRef.set({ codeVerifier, state });}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda