Estoy diseñando una aplicación de nodo js que recibirá solicitudes de aplicaciones web frontends y les proporcionará datos. También utiliza algunas API de terceros que requieren algún token. Anteriormente, el token se almacenaba en un archivo de configuración. Así que anteriormente teníamos algo como esto.
config.js
module.exports = { token: 'xxxxxxxxxxxx'}CustomModule1.js
const configuration = require('./config'); let client = thirdparty1.createClient({ token: configuration.token}); function BusLogic(param){ client.relevantWork().then( //return data ) } module.exports.BusLogic = BusLogic;índice.js
const customModule = require('./CustomModule1'); module.exports = function (context, req){ customModule1.BusLogic(req.param).then(res => { //return frontEndData }) }Ahora estamos almacenando el token en una bóveda segura de un tercero que requiere otra llamada a la API, así que cambié la estructura a la siguiente.
config.js
let vaultFetch = (param1){ return getfromVault(param1) } module.exports = { token: vaultFetch('tokenData')}CustomModule1.js
function BusLogic(param,client){ client.relevantWork().then( //return data ) } module.exports.BusLogic = BusLogic;índice.js
const customModule = require('./CustomModule1'); module.exports = function (context, req){ configuration.then(x => { thirdparty1.createClient({ token: configuration.token}).then(client => { customModule1.BusLogic(req.param,client).then(res => { //return frontEndData }) }) }) }Pero como sucede en el caso de múltiples solicitudes simultáneas, la API tarda mucho en obtener datos. Puede deberse a que se crea un cliente para cada solicitud. ¿Hay alguna manera de crear un cliente una vez usando una promesa?