大家好,我正在为一个点击调用函数的脚本而苦苦挣扎,我试图把它放在一个承诺中:
$('.csv').on('click', async function ()
{
let start = new Date.getTime()
let promiseScript = new Promise(function (resolve, reject)
{
// мой код...
}
resolve("done");
});
let end = new Data.getTime()
await promiseScript.then(document.querySelector('.description').innerHTML += `<span>На выполнение скрипта
ушло ${end - start} ms</span>`);
});
但问题是它首先显示脚本的执行时间,然后才开始执行脚本。如何正确测量此脚本的执行时间?
promiseScript
最好通过声明函数,const
因为您不更改它。为了使毫秒 > 0 变得明显,我将输出添加到控制台并清除它,这需要一些时间。由于我们在其中进行计算,
start
然后end
我们可以将它们传递到外部,resolve
并且毫无问题地将它们then
通过дестурктуризацию
:为了更好的代码结构和可重用性,我创建了一个单独的函数来测量时间
measureTime
,以及一个可测试的函数testFinction
和一个运行测试的按钮上的点击处理程序。如果您正在调试应用程序并且您不需要页面上的此铭文,则可以像这样测量执行时间:
在控制台中,您将看到正确的时间,因为。在您的情况下,您没有考虑在 DOM 中呈现组件的时间。