Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

243
Views
Angular 4: tomas de zonas y detección de cambios

Nuestra aplicación usa sockets, estamos usando socket.io y sus eventos están envueltos con Observables.

En un área de nuestra aplicación tenemos un gráfico que se actualiza cada décima de segundo. El gráfico se dibuja con D3 y se dibuja directamente sin usar angular.

Nos gustaría deshabilitar completamente la detección de cambios para el área del gráfico y asegurarnos de que cada respuesta de socket (Observable) no active la detección de cambios en ninguna parte del árbol de la aplicación.

Intentamos usar zone.runOutsideAngular , pero tuvimos que colocarlo en la capa de socket inferior donde nos suscribimos al Observable que envuelve socket.io ... Aunque esto funcionó, ejecuta TODOS los eventos de socket fuera de angular. Necesitamos ejecutar solo los eventos gráficos fuera de la zona angular.

Idealmente, necesitamos usar zonas o algo a nivel de componente y solo para los gráficos, porque otras áreas de la aplicación necesitan detección de cambios de eventos de socket...

Tengo entendido que cualquier operación asíncrona, como eventos de socket, activará la detección de cambios.

¿Podemos deshabilitar esto en un nivel superior sin tener que tocar los servicios de nivel inferior?

¿Cuál es el mejor enfoque para ejecutar eventos específicos de socket.io fuera de la zona de angular para evitar la detección de cambios en toda la aplicación?

Cualquier idea sería muy apreciada.

about 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!