Suscripciones - Actualizaciones en tiempo real

La especificación de GraphQL permite algo llamado suscripciones que son como las consultas de GraphQL pero en lugar de devolver los datos en una lectura, obtiene los datos insertados desde el servidor.

Esto es útil para la aplicación para suscribirse a «eventos» o «resultados en vivo» desde el backend, mientras le permite controlar la «forma» del evento desde la aplicación.

Las suscripciones de GraphQL son un componente fundamental para agregar características reactivas o en tiempo real a las aplicaciones fácilmente. ¡Los servidores y clientes de GraphQL que admiten las suscripciones le permiten crear grandes experiencias sin tener que hacer frente al código de websocket!

Haga su primera suscripción de GraphQL

Step 1: diríjase a https://hasura.io/learn/graphql/graphiql

Step 2: escriba esta consulta de GraphQL en el área de texto:

subscription {
online_users {
id
last_seen
user {
name
}
}
}

Paso 3: haga clic en el botón play.

Cada vez que cambie el conjunto de usuarios en línea, verá el último conjunto en la ventana de respuesta a la derecha.

¿Cómo funcionan las suscripciones de GraphQL?

Las mutaciones y consultas de GraphQL son cadenas enviadas a un punto de conexión de POST. ¿Qué es una suscripción de GraphQL? Eso no puede suceder sobre un punto de conexión de POST, porque un punto de conexión HTTP simple solo devolverá la respuesta y la conexión se cerrará.

Una suscripción de GraphQL es una cadena de consulta de suscripción que se envía a un punto de conexión de websocket. Y cada vez que los datos cambian en el backend, nuevos datos se insertan sobre los websockets desde el servidor al cliente.

Resumen

  • Ahora sabe cómo hacer suscripciones de GraphQL

Ahora que se siente cómodo con los conceptos básicos de utilizar GraphQL, veamos cómo están estructurados los servidores y los clientes.

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin