Por que recebo um p[num] erro ao abortar um jQuery fila de pipeline?
Pergunta
Quando a criação e a execução de uma solicitação ajax fila com $.manageAjax
, Eu chamo ajaxManager.abort();
, para anular a fila inteira devido a erro, no momento em que eu recebo uma mensagem de erro informando: q[num] has no properties (jquery.ajaxmanager.js line 75)
Aqui está o código de chamada:
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
Há 4 pedidos na fila, isso está sendo chamado o sucesso do primeiro pedido, se determinados critérios, a fila tem de ser anulada.
Qualquer idéias?
Solução
Parece que você tem menos itens em q que você estava esperando quando você começou a iteração.O script pode estar a tentar aceder q[q.comprimento], i.e.o elemento depois do último elemento.
Poderia ser que o seu pedido bem sucedido tem sido removido da fila, e você tem uma condição de corrida?Você está tentando cancelar um pedido, que já completou seu ciclo de vida?Como alternativa, você cometeu um erro bobo como as pessoas às vezes não, e tem o seu ciclo condição de terminação de errado?
Apenas alguns pensamentos, espero que ajude.