为什么中止jQuery队列管道时会收到q [num]错误?
时间:2020-03-05 18:43:54 来源:igfitidea点击:
当使用$ .manageAjax创建和执行ajax请求队列时,我调用ajaxManager.abort();
,由于错误而中止了整个队列,这时我得到一个错误,指出:q [num]具有没有属性(jquery.ajaxmanager.js第75行)`
这是调用代码:
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
队列中有4个请求,在第一个请求成功时将调用此请求,如果满足某些条件,则需要中止该队列。
有任何想法吗?
解决方案
回答
看起来我们在q中的项目比开始迭代时所期望的要少。脚本可能正在尝试访问q [q.length],即最后一个元素之后的元素。
可能是成功请求已从队列中弹出,并且我们处于竞争状态?我们是否要中止已经完成其生命周期的请求?或者,我们是否像人们有时一样犯了一个愚蠢的错误,并且弄错了循环终止条件?
仅有几点想法,希望对我们有所帮助。