Tengo una función que obtiene información si un adaptador está conectado:
private registerAdapter() { this.register(GetAdapter, Action.Get, async (): Promise<IData<AdapterInfo>> => { await this.setup; if (!this.myClient?.canGetAdapter()) { return Promise.reject('My client is not able to get connected adapter'); } const adapter = await this.myClient.getAdapter(); if (!adapter) { return Promise.reject('My communication client is not able to get adapter'); } return { data: { adapter }, read: new Date() }; }); }Arriba funcionará, y obtengo la información si hay un adaptador conectado. Sin embargo, si el adaptador se desconecta durante el tiempo de ejecución, la información no se actualizará y seguirá diciendo "Conectado".
Quiero, cuando el adaptador esté conectado, devolver esta información y luego "observar" el servicio cada 5 segundos y si la respuesta es nula, devolver los nuevos resultados. ¿Como hacer eso? El flujo debe ser algo como:
Servicio: el adaptador está conectado, devuelve datos Observe cada 5 s por cambios en el servicio Servicio: el adaptador está desconectado, devuelve nulo El observador capta el cambio y la función devolverá nulo