所以,我试图为每个发送的请求设置一个超时,并确定一个请求是否“太长”。我正在查看网络选项卡,每个请求都在 300 毫秒以下,但是“太长”被记录了 6 次!(我发送的请求数)。我在变量、setTimeouts 或其他方面做错了什么吗?
var ajaxMonitor = {};
function timingStart() {
var url = arguments[2].url;
ajaxMonitor[url] = {};
ajaxMonitor[url].timer = setTimeout(function () {
console.log('too long');
}, 300);
}
function timingEnd() {
var url = arguments[2].url;
clearTimeout(ajaxMonitor[url].timer);
}
$(document).ajaxSend(timingStart);
$(document).ajaxComplete(timingEnd);