我在项目中面临一个很大的问题。 我的SPA上有两页。第一个是所有逻辑集中的主应用程序,第二个是我可以从主页面进入的登录页面。
我的主页上有很多XHR。
当我进入登录页面然后按回一些请求时,请不要成功完成。
当我再次这样做时,所有请求都无法处理。
在我的调试过程中,我发现xhr.onload没有被调用。
在我的网络标签中最有趣的事情之一就是完成了很少的请求(但是没有调用xhr.onload),当我试图提出新的请求时,他们甚至没有#39 ; t显示在网络选项卡中。
有没有人遇到过这样的问题?
我的http包装器看起来像这样
request ({method, isHighPriority, callback, url, data, config}) {
let task;
switch (method) {
case 'post':
case 'put':
case 'patch':
task = this.$http[method].bind(null, url, data, config);
break;
default:
task = this.$http[method].bind(null, url, config);
break;
}
if (isHighPriority) {
this.queueHightPriority.push(task, callback);
} else {
this.queueLowPriority.push(task,callback);
}
}
队列从异步lib队列。
this.queueLowPriority = queue((task, callback) => {
task().then(this.success(callback),
this.error(callback));
}, ConnectionConstants.REQUESTS_LIMIT - HIGHT_PRIORITY_LIMIT);
this.queueHightPriority = queue((task, callback) => {
task().then(this.success(callback),
this.error(callback));
}, HIGHT_PRIORITY_LIMIT);
我试图清除后退按钮上的队列。但主要问题是更深层次