Me estoy conectando a mi emulador de almacenamiento con el siguiente código:
const firebaseApp = initializeApp(appConfig.firebase) storage = getStorage(firebaseApp) connectStorageEmulator(storage, 'localhost', 9199)Esto funciona bien cuando el emulador se está ejecutando. ¡También funciona bien cuando el emulador NO se está ejecutando! si no se está ejecutando, quiero hacer algo más como esto:
if (emulatorIsConnectedAndEmulatorIsRunning) { // do something } else { // do something else }¿Cómo puedo detectar si el emulador se está ejecutando o no?
AIT
Esta es UNA respuesta, no necesariamente la mejor respuesta y agradecería otras respuestas.
Básicamente, no solo estoy emulando el almacenamiento sino también las funciones de la nube.
He hecho una función de nube como esta:
export const ping = functions.https.onRequest((req, res) => { res.json({ ping: 'pong' }) })Entonces, en mi código, solo hago ping a este punto final. Por ejemplo:
axios.get(`http://localhost:5001/${storageBucket}/us-central1/ping`)Si responde 200, entonces el emulador de funciones se está ejecutando (y dada mi configuración, esto también significa que el emulador de almacenamiento se está ejecutando).