我想测量 UI 交互时间,如下所示。
- 选择菜单和显示结果之间的时间。
- 用户输入和在 UI 中显示字母之间的时间
我想很多人建议我测量函数调用和结果之间的时间,但我想知道另一种方法来获取时间,尽管 UI 发生了变化。是否可以检查 UI 更改的时间?
我正在开发的工具是由 Javascript 制作并在浏览器上运行的。
我想测量 UI 交互时间,如下所示。
我想很多人建议我测量函数调用和结果之间的时间,但我想知道另一种方法来获取时间,尽管 UI 发生了变化。是否可以检查 UI 更改的时间?
我正在开发的工具是由 Javascript 制作并在浏览器上运行的。
这是我的答案:
“Javascript 是单线程的”。
那么,这意味着什么:
Javascript 顺序运行代码。不可能同时运行两段不同的 Javascript 代码,因为它不支持多线程。
javascript代码的执行是逐行的。因此不可能同时执行多行(虽然它会非常小)
一个简单的解决方案:
check_my_time_first() ;//these will be functions returning the epoch time
check_my_time_after();
你只需要console.log,flag variables 和 epoch time。
首先,差异将非常小。
var milliseconds_before = (new Date).getTime();//use this code when user clicks
var milliseconds_after = (new Date).getTime();//use this when result appears.
使用标志变量来了解某些执行何时完成。
另一个例子:
var execution_over=false;
function doSomething(){
console.log("start_time"+milliseconds_before)
//some code to be executed;
execution_over=true
if(execution_over==true){
console.log("time="+milliseconds_after)
}
}
区别:
var diff=milliseconds_before - milliseconds_after;
巧妙地放置此代码,您将看到时间上的差异。
重要的是要了解基础知识。我希望我的回答有所帮助。