¿Por qué recibo un error q[num] al cancelar una canalización de cola jQuery?

StackOverflow https://stackoverflow.com/questions/30342

  •  09-06-2019
  •  | 
  •  

Pregunta

Al crear y ejecutar una cola de solicitudes ajax con $.manageAjax, Yo lo llamo ajaxManager.abort();, para cancelar toda la cola debido a un error, momento en el que aparece un error que indica: q[num] has no properties (jquery.ajaxmanager.js line 75)

Aquí está el código de llamada:

var ajaxManager = $.manageAjax({manageType:'sync', maxReq:0});
// setup code calling ajaxManager.add(...)

// in success callback of first request
ajaxManager.abort(); <-- causes error in jquery.ajaxManager.js

Hay 4 solicitudes en la cola, esto se llama en caso de éxito de la primera solicitud; si se cumplen ciertos criterios, es necesario cancelar la cola.

¿Algunas ideas?

¿Fue útil?

Solución

Parece que tienes menos elementos en q de los que esperabas cuando empezaste a iterar.Es posible que su secuencia de comandos esté intentando acceder a q[q.length], es decir.el elemento después del último elemento.

¿Podría ser que su solicitud exitosa haya sido extraída de la cola y tenga una condición de carrera?¿Está intentando cancelar una solicitud que ya completó su ciclo de vida?Alternativamente, ¿ha cometido un error tonto como a veces comete la gente y ha cometido una condición de terminación de bucle incorrecta?

Sólo unas cuantas reflexiones, espero que os ayuden.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top