Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

208
Vistas
Servidor de sondeo RxJS y actualización del estado de la aplicación con nuevos datos

El servidor node.js actualiza los datos cada 0,5 segundos. El cliente tiene que sondear el servidor y buscar nuevos datos usando RxJS . Hice que el cliente sondee el servidor, se realizan las solicitudes pero no puedo leer la respuesta del servidor. Creo que el estado no se actualiza debido a que poll_server devuelve timer.pipe() o el reductor está creando un estado incorrecto. Llegué a esto desde la plantilla de mi maestro, entonces, ¿por qué el despachador devolvería un Observable ?

modelo.js

 export function init_state(warnings) { return { warnings, accept: ({ visit_site }) => { if (visit_site) return visit_site(warnings) } } }

despachador.js

 import { from, of, timer } from 'rxjs' import { concatMap, map } from 'rxjs/operators' import { FRONT_PAGE } from './constants' const poll_server = url => { return timer(0, 3000) .pipe(concatMap(() => from(fetch(url)) .pipe(map(response => response.json()))) ) } export const server_dispatch = action => { switch (action.type) { case FRONT_PAGE: { const res = poll_server('http://localhost:8080/warnings') console.log(res) return res } default: return of(action) } }

reductor.js

 export function reduce(state, action) { switch (action.type) { case FRONT_PAGE: console.log(`REDUCER CALLED WITH ACTION ${FRONT_PAGE}`) return init_state(action) default: return state } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema es que desea llamar a poll_server , que iniciará una transmisión observable en un punto final ajax desde el reductor (lo que implica que se subscribe a esta transmisión aquí, no de la forma en que la está usando actualmente), que no es como redux se supone que debe usarse. Su creador pretende que los reductores sean funciones puras sin causar efectos secundarios.

Si desea usar redux con observables, se recomienda usar middleware personalizado para manejar estos efectos secundarios. El middleware más obvio que sugiero es https://redux-observable.js.org/ , que probé en el pasado y funciona sin problemas.

La documentación es exquisita y la usará sin problemas si ya está familiarizado con los principios de RX.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda