gpt4 book ai didi

javascript - 如果javascript是单线程的,如何测量多个ajax调用的时间

转载 作者:行者123 更新时间:2023-11-29 15:38:14 25 4
gpt4 key购买 nike

var startTime = new Date().getTime();
var ajaxResponseTime1;
var ajaxResponseTime2;

$.ajax({
success: function(){
ajaxResponseTime1= new Date().getTime() - startTime;
//some task that takes 5 seconds
}
});

$.ajax({
success: function(){
//possibly inaccurate since it includes the time it took to
//execute other success callback function
ajaxResponseTime2= new Date().getTime() - startTime;

//some task that takes 5 seconds
}
});

既然 javascript 是单线程的,那是不是意味着无论哪个成功方法先被调用,执行该成功方法所花费的时间都会被计算到调用第二个成功回调函数所花费的时间?

我想知道每次 ajax 调用调用成功回调所花费的时间。与响应时间一样。

最佳答案

现在我正在重新编辑这个答案,因为我对你如何处理你的问题有了更多的了解。

准确性 一词显然是相对的。在大多数现代处理器上,这两个 ajax 调用相隔不到一毫秒。考虑这段代码:

var start = new Date.getTime();

display();

function display(){ console.log(new Date().getTime() - start); };

结果输出可能为 0。即 0 毫秒。关于任意方法的执行时间,这告诉我们什么?

是的,JavaScript 是单线程的。是的,它是同步的。所以事实是一个方法总是先于另一个方法调用,尽管它们同时进入。

但是,只要回调不会成为脚本执行的瓶颈,响应时间就会“相当”准确。正如我所说,这取决于您如何称呼“准确”

另一个编辑!

该死。我刚刚注意到您的 //some task that takes 5 seconds 评论可能指的是一个长时间的同步任务?如果您说该过程将同步执行 5 秒,那么是的 - 此处的准确性将是一个问题。

关于javascript - 如果javascript是单线程的,如何测量多个ajax调用的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24414053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com