Saltar al contenido

¿Puede agregar prioridades a las llamadas AJAX?

Solución:

Un método general sería implementar una cola de prioridad para las llamadas AJAX pendientes. Cada complemento colocaría su llamada en la cola, con una prioridad asociada en la llamada, y un procesador de cola AJAX funcionaría a través de la cola en orden de prioridad.

Aquí hay un ejemplo de un complemento de cola de prioridad de jQuery:

http://benalman.com/code/projects/jquery-message-queuing/docs/files/jquery-ba-jqmq-js.html

Además, aquí hay uno ya implementado para solicitudes AJAX:

Secuencia de solicitudes ajax

Respuesta 2018

editar 2020: las sugerencias de prioridad están en espera por ahora: https://twitter.com/addyosmani/status/1204779715514392576

Todavía no es posible establecer prioridades explícitas en XMLHttpRequest ni window.fetch llamadas, pero hay una nueva propuesta de API impulsada por Google llamada “Sugerencias de prioridad”.

https://wicg.github.io/priority-hints/#examples

Por ahora, no es compatible con ningún navegador; Chrome 70 ha enviado una implementación experimental detrás de la bandera.

Reducir la contención de la red de solicitudes de API de recuperación no críticas

Las sugerencias de prioridad se pueden utilizar para reducir la prioridad de las solicitudes de la API Fetch no críticas para evitar que compitan con otras más importantes.

Un sitio de noticias que realiza una solicitud crítica de Fetch API para el contenido del artículo podría terminar compitiendo con solicitudes de recursos menos importantes, como contenido relacionado.

<script>
 // Critical Fetch request for article content 
 fetch('/api/articles.json').then(/*...*/)

 // Request for related content contending with the above request 
 fetch('/api/related.json').then(/*...*/)
</script>

Al utilizar el atributo de importancia en la segunda solicitud de búsqueda, podemos sugerir que la prioridad de esa solicitud es baja, lo que reduce las posibilidades de que compita con la solicitud de búsqueda para el contenido del artículo. También podemos indicar explícitamente que la prioridad de la primera solicitud es alta para que los navegadores en los que las solicitudes de Fetch no tengan una prioridad alta sepan que es importante para la página.

<script>
 // Critical Fetch request for article content 
 fetch('/api/articles.json', { importance: 'high' }).then(/*...*/)

 // Request for related content now reduced in priority
 // reducing the opportunity for contention
 fetch('/api/related.json', { importance: 'low' }).then(/*...*/)
</script>

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *