Tengo una aplicación Vue que se conecta a un back-end de Rails y necesito saber si la conexión está establecida o no.

En mi aplicación hago:

var app = new Vue({
    name: "Site",
    store,
    router,
    i18n,
    components: {},
    mixins: [],
    data: {
     cable: App.cable
    }
});

Sin embargo, cable.connection.disconnected siempre es cierto incluso cuando está realmente conectado.

¿Cómo puedo determinar de manera confiable (cuando sea necesario) cuál es el estado de la conexión?

3
Nick M 5 ene. 2020 a las 02:05

2 respuestas

La mejor respuesta

Lo tengo resuelto. En mis componentes, cuando necesito averiguar el estado del cable, hago

this.$root.cable.connection.isOpen()

Si es falsa vuelvo a HTTP.

Espero que esto ayude a alguien más adelante.

1
Nick M 6 ene. 2020 a las 11:19

Puede intentar transmitir algún mensaje en el servidor y ver que la aplicación Vue puede recibir ese mensaje.

-1
Bùi Nhật Duy 5 ene. 2020 a las 03:33