/ / Para una promesa de WinJS, ¿con qué frecuencia se llama a su función de devolución de llamada de "progreso"? - winjs

Para una promesa de WinJS, ¿con qué frecuencia se llama a su función de devolución de llamada de "progreso"? - Winjs

Al realizar una llamada WinJS asíncrona que devuelve una promesa, ¿con qué frecuencia se llama a la función de devolución de llamada de progreso de la promesa? Considere el siguiente código:

WinJS.xhr({ url: "http://localhost:51299/api/values" }).done(

function complete() {
console.log("complete: " + new Date().getTime());
},

function error() {
},

function progress() {
console.log("progress: " + new Date().getTime());
}

);

Cuando ejecuto este código, veo el Progreso: mensaje varias veces por milisegundo, y en general podría ver el Progreso: mensaje 100-200 veces durante los 1-2 segundos que lleva recuperar todos los datos de la llamada xhr.

  1. ¿Se llama a la función de progreso en un intervalo establecido y, de ser así, cuál es ese intervalo?
  2. ¿Es un problema de rendimiento dejar que se ejecute esto con frecuencia?
  3. ¿Es una mejor práctica limitarlo para que se ejecute con menos frecuencia utilizando algún tipo de función de temporizador, o el impacto es insignificante?

Respuestas

4 para la respuesta № 1

Las devoluciones de llamada de progreso están determinadas por la fuentede la promesa, en este caso, el sistema XHR. No tiene control sobre cuándo salen. En este caso, XmlHttpRequest está actualizando el progreso. No hay un control general, todo depende de la operación asíncrona cuando, y si, ocurren actualizaciones de progreso.

Debería considerar limitar sus respuestas a las actualizaciones de progreso si encuentra un impacto en el rendimiento, pero en general es difícil decir qué hacer, depende de su aplicación.