Tengo una configuración karma.conf.js, y cuando la configuro necesito una dirección IP de la puerta de enlace actual.
He encontrado esta solución para obtener la dirección IP:
var network = require('network'); var gatewayIp; network.get_gateway_ip(function(err, ip) { console.log(err || ip); // err may be 'No active network interface found.' gatewayIp = ip; }); config.set({ .... hostname: gatewayIp .... }) El problema es que quiero establecer el resultado de get_gateway_ip en config.set({ .... hostname: gatewayIp ... }) y gatewayIp no está asignado cuando se ejecuta en la llamada a la función config.set.
No puedo poner config.set() en el resultado asíncrono porque no funciona (las pruebas ya se están ejecutando cuando llega el resultado asíncrono).
¿Cómo puedo esperar el resultado de get_gateway_ip?
He visto esta solución ( Cómo devolver la respuesta de una llamada asíncrona ), pero no funciona porque no puedo hacer que la configuración de karma espere.
Configuración de karma:
module.exports = function(config) { ... config.set({}) }; La function(config) no puede ser asíncrona, porque cuando la hago asíncrona, ignora la configuración:
module.exports = async function(config) { ... config.set({}) // ignored ... };