Секундомер в JavaScript при запуске функции

#javascript #html

Вопрос:

Я хотел бы создать скрипт, который подсчитывает, сколько времени мне потребовалось для выполнения этой функции (в мс)

Я хочу, чтобы он начинался при загрузке страницы

 window.addEventListener('load', function() {
    if (window.location.pathname == '/checkout/confirm') {
        sleep(10).then(() => {
            var checkout = document.evaluate('/html/body/div[4]/div[3]/div/div/div/z-grid[1]/z-grid-item[2]/button', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
            checkout.singleNodeValue.click();
            console.log("Checkout Complete in x ms");
        })
    }
})
 

Комментарии:

1. Я не совсем понимаю вопрос, вы можете просто обернуть любую функцию между const start_time = new Date(); и const time_took = new Date() - start_time; , чтобы получить время выполнения. С чем именно у вас возникла проблема?

Ответ №1:

Вы можете легко сделать это с Date.now() помощью . Просто проверьте время до и после выполнения функции и вычитайте результаты.

 window.addEventListener('load', function() {
    if (window.location.pathname == '/checkout/confirm') {
        let start_function = Date.now();
        sleep(10).then(() => {
            var checkout = document.evaluate('/html/body/div[4]/div[3]/div/div/div/z-grid[1]/z-grid-item[2]/button', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
            checkout.singleNodeValue.click();
            let end_function = Date.now();
            console.log(`Checkout Complete in ${ end_function - start_function } ms`);
        })
    }
})