Escribí una función de promesa en firebase.js para devolver la clave de acceso que quería usar en todas partes después de iniciar el servidor. Pero por alguna razón, cuando exporto el módulo y lo uso en app.js, no puedo imprimir el access_token devuelto. O una mejor pregunta sería cómo usar el access_token en todas partes a nivel mundial después de que se inicie el servidor.
Firebase.js está debajo
var {google} = require('googleapis'); var MESSAGING_SCOPE = 'https://www.googleapis.com/auth/firebase.messaging'; var SCOPES = [MESSAGING_SCOPE]; var http = require('http'); function getAccessToken() { return new Promise(function(resolve, reject) { var key = require('./serviceAccountKey.json'); var jwtClient = new google.auth.JWT( key.client_email, null, key.private_key, SCOPES, null ); jwtClient.authorize(function(err, tokens) { if (err) { reject(err); return; } resolve(tokens.access_token); }); }); } getAccessToken().then(function(access_token){ //console.log(access_token); return access_token; }) module.exports.getAccessToken = getAccessTokenA continuación se muestra app.js
const express = require("express"); const ac = require('./firebase.js'); const app = express(); console.log(ac.getAccessToken); const port = process.env.PORT || 1111 ; app.listen(port, () => { //console.log(`server up and running on ${process.env.PORT}`); console.log(`server up and running on ` + port); });Arranco el servidor por nodemon index.js