如果您想等到文档中的所有ajax请求都完成,无论它们有多少,只需以$.ajaxStop这种方式使用事件: $(document).ajaxStop(function () {
// 0 === $.active
});在这种情况下,无需猜测将来可能完成的应用程序中有多少请求。在某些情况下,ajax请求可以是函数内部逻辑的一部分,这可能非常复杂(例如调用其他函数),在这种情况下,您可能不会等到所述函数完成其整个逻辑而不是仅等待ajax部分完成。$.ajaxStop这里也可以绑定到HTML您认为可能被修改的任何节点ajax。同样,此处理程序的目的是知道何时没有活动 ajax不清除或重置某些内容。PS如果您不介意使用ES6语法,则可以使用Promise.all已知ajax方法。例:Promise.all([ajax1(), ajax2()]).then(() => {
// all requests finished successfully}).catch(() => {
// all requests finished but one or more failed})这里有一个有趣的一点是,它的作品都与Promises和$.ajax请求。