Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

193
Visualizações
Exportar valor después de la respuesta de llamada de axios usando Node.js

Necesito una solución. Estoy usando el módulo axios para obtener la respuesta de otro servidor y luego necesito exportar el valor a otro archivo usando Node.js. Estoy explicando mi código a continuación.

 const axios = require('axios'); let protocol = ''; let opticalIp = ''; axios.get(`www.mydomain.com/api`).then(function(response) { //console.log('succ', response); if(response.data && response.data.data) { protocol = response.data.data['scheme']; opticalIp = response.data.data['optical_ip']; } }).catch(function(error) { console.log('error', error); }); console.log('data', opticalIp); const env = { API_URL: `${protocol}://${opticalIp}/`, configHeaders: '' }; module.exports = env;

Aquí estoy obteniendo los datos de otro servidor y también aquí estoy devolviendo algún valor env a otro archivo. En mi caso, antes de la respuesta, el objeto env regresa, por lo que el valor API_URL se queda en blanco. Aquí necesito después de la respuesta exitosa, se preparará API_URL y luego este objeto env debería regresar a otro archivo donde sea que se llame. Por favor, ayúdame a encontrar la solución adecuada.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

En este caso, solo querrá exportar una función a la que pueda llamar desde el otro archivo. Esto evitará un poco de dolor de cabeza más adelante. Dado que axios devuelve una promesa (de ahí la llamada .then()) después de la solicitud, puede simplemente devolver la llamada de solicitud de axios y modificar el valor que desee devolver desde la llamada .then().

Aquí hay una descripción general del encadenamiento de promesas proporcionada por javascript.info .

 // CHILD MODULE const axios = require('axios'); function fetchOptical () { let protocol = ''; let opticalIp = ''; return axios.get(`https://10.0.12.17:9201/api/v1.0/settings/custom-form/Optical`) .then(function(response) { //console.log('succ', response); if(response.data && response.data.data) { protocol = response.data.data['scheme']; opticalIp = response.data.data['optical_ip']; const env = { API_URL: `${protocol}://${opticalIp}/`, configHeaders: '' }; console.log('data', opticalIp); return env } }).catch(function(error) { console.log('error', error); return error }); }) } module.exports = fetchOptical;

 // PARENT MODULE import child from './child' child().then(env => { })

about 4 years ago · Juan Pablo Isaza Relatório

0

Modificar el protocol y la dirección IP API_URL opticalIp En su lugar, en el then , intente:

 if(response.data && response.data.data) { const protocol = response.data.data['scheme']; const opticalIp = response.data.data['optical_ip']; env.API_URL = `${protocol}://${opticalIp}/`; } // Then when defining env: const env = { API_URL: null, // null or '' or whatever you want the default to be. configHeaders: '' };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda