是否可以检测网页上所有异步任务的完成情况
Is it possible to detect the finish of all asynchronous tasks on a web page?
这一切都在标题中。我需要知道所有异步任务何时在我的网页上完成。可以使用一种自定义侦听器或其他东西吗?
没有可靠且标准的方法来检测所有异步任务的完成情况。如果您在网页中使用 javascript,则脚本可以随时根据其功能运行新的异步请求。
如果您使用的是jQuery并且所有请求都是由您发起的,请查看此答案。
你可以使用这样的东西:
var ajaxfinished = 0;
var totalAjax = 5; //Total of ajax functions you have
$( document ).ajaxComplete(function() { //Listener for a complete Ajax function
ajaxFinished += 1;
if (ajaxFinished == totalAjax) { //here you know that all tasks are finish
//run your code
}
});
看看这里 .ajaxComplete,这样做的主要缺点是,如果你对 totalAjax 非常小心。
相关文章:
- 在等待异步任务时永久循环
- Nodejs 异步任务和匿名函数
- Node.js异步并行“;类型错误:任务不是函数;
- nodejs:如何等待几个异步任务完成
- 如何在angular.js中处理多个异步任务
- 如何使用Grunt异步运行2同步任务
- 如何在循环中对 es6 生成器执行异步任务
- 是否可以检测网页上所有异步任务的完成情况
- 在另一个任务之前异步运行 grunt 任务
- 在 Javascript 中等待一些异步任务完成的最简单方法
- gulp.watch异步运行其任务是正确的行为吗?
- 使用 $.queue() 按顺序(顺序)提供同步和异步任务
- 是否可以限制节点中的异步任务
- Node.js真的异步完成后台I/O任务吗
- 并行运行异步任务
- Jake任务在异步任务完成之前完成激发
- 使用highland.js在引用原始流数据的情况下执行串行异步任务
- 等待所有异步ajax调用完成,并延迟.when().then(),未调用then()中的任务
- 异步任务完成后写入文件
- node.js中的异步编程是否会加快cpu密集型任务的速度?