javascript - 涉及异步功能时如何测量总时间
问题描述
我有一个以这种方式调用的javascript函数
do_work();
setTimeout(do_some_other_work);
do_work();
setTimeout(do_some_other_work);
do_work();
我如何输出在这种情况下花费的总时间?
解决方案
您可以使用全局变量:一个是开始时间(稍后比较),另一个是通过检查计数器是否处于所需数字do_work()
然后do_some_other_work()
计算时间差的函数来递增。
所以,像:
var start = new Date(), call_counter = 0;
然后在 and 结束do_work()
时do_some_other_work()
:
incrementCounter();
并且有:
function incrementCounter() {
if ( ++call_counter == 5 ) {
console.log( ((new Date()) - start) );
}
}
推荐阅读
- spring - 非 Spring Boot 应用程序中的 Spring 依赖注入
- javascript - Javascript对象数组通过合并数据获得不同的数据
- c# - 即使安装后在构建时也找不到 C# 包
- php - 如何在 laravel 5.8 中使用 mailchimp 发送简单邮件
- python-3.x - 如何使用包含 python3 解释器的 virtualenv 打包 pyspark 代码?
- quarkus - Quarkus 入门应用抛出异常 workerPoolSize must be > 0
- python - 有没有办法用对应的大陆标记一个地区?Python
- angular - NgRx 和 RxJS:依赖状态选择器
- sql - 如何在 laravel 中使用 sql password() 函数登录?
- visual-studio - 如何在 Visual Studio Storyboard 中根据设备大小缩放图像