JS метод Console.timeEnd()
Загальний опис
Метод console.timeEnd() у мові програмування JavaScript є статичним методом об'єкта console, який використовується для завершення вимірювання часу, ініційованого методом console.time(). Цей метод відіграє ключову роль у визначенні тривалості виконання певних операцій у коді, що є важливим для аналізу продуктивності та оптимізації програм. console.timeEnd() виводить час, що пройшов з моменту виклику console.time() з тією ж назвою таймера.
Використання console.timeEnd() є простим, але ефективним способом отримати детальну інформацію про тривалість виконання коду. Цей метод особливо корисний у випадках, коли необхідно визначити, які частини програми споживають найбільше часу, що дозволяє розробникам зосередити свої зусилля на оптимізації саме цих ділянок коду.
Ось простий приклад використання console.time() та console.timeEnd():
console.time("Обчислення");
// Виконання деяких операцій
for (let i = 0; i < 10000; i++) {
// Певні обчислення або операції
}
console.timeEnd("Обчислення");
У цьому прикладі час виконання циклу буде виміряний і виведений у консоль. Важливо, що ідентифікатор таймера (у цьому випадку "Обчислення") має бути однаковим у console.time() та console.timeEnd(), щоб забезпечити точність вимірювань.
Більш складне застосування може включати вимірювання часу асинхронних операцій, таких як запити до сервера. Приклад:
console.time("ЗапитДоСервера");
fetch('https://example.com/data')
.then(response => response.json())
.then(data => {
// Обробка даних
console.timeEnd("ЗапитДоСервера");
});
У цьому випадку console.timeEnd("ЗапитДоСервера") викликається після завершення асинхронного запиту та обробки отриманих даних, надаючи інформацію про загальний час виконання цієї операції.
Важливо зазначити, що при використанні console.timeEnd() без попереднього виклику console.time() з тією ж назвою таймера, у консолі відобразиться повідомлення про помилку. Це слід брати до уваги при розробці складних програм, де можливе паралельне виконання декількох таймерів.
У підсумку, console.timeEnd() є невід'ємною частиною інструментарію JavaScript-розробника для моніторингу та оптимізації продуктивності програми. Цей метод дозволяє точно вимірювати час виконання конкретних ділянок коду, що є критично важливим для створення ефективних та швидких веб-додатків.
| Порада: |
|
| Порада: | Підтримуйте чистоту коду, використовуючи |
| Порада: | Подібно до |
| Порада: | При використанні |
Синтаксис
timeEnd()
timeEnd(label)
Параметри
labelРядок, який представляє назву таймера для зупинки. Після зупинки, минулий час автоматично відображається у консолі разом з індикатором, що час завершено. Якщо пропущено, використовується мітка
"default".
Return
noneПовертає
undefined.
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
2 |
10 |
4 |
11 |
12 |
| Переглядач | ||||
|---|---|---|---|---|
37 |
18 |
10 |
3.2 |
| Переглядач | ||
|---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі, користувач може взаємодіяти з веб-сторінкою, натискаючи на кнопки "Запустити таймер" та "Зупинити таймер". При запуску таймера, console.time("UserTimer") активується, а при зупинці - console.timeEnd("UserTimer") виводить у консоль час, що минув. Це ілюструє роботу console.timeEnd() у реальних умовах.
Тут ми ініціюємо таймер за допомогою console.time("TimeForSimpleLoop") і зупиняємо його за допомогою console.timeEnd("TimeForSimpleLoop"), після завершення циклу. Важливо, що ідентифікатор, переданий у console.time() і console.timeEnd(), має бути однаковим, щоб точно відстежити та завершити відповідний таймер.
console.time("TimeForSimpleLoop");
for (let i = 0; i < 10000; i++) {
// Проста ітерація
}
console.timeEnd("TimeForSimpleLoop");
У цьому випадку, ми запускаємо таймер console.time("asyncOperationTime") перед початком асинхронної операції. Після завершення операції, в then() блоку, ми зупиняємо таймер за допомогою console.timeEnd("asyncOperationTime"). Це дозволяє нам визначити час, який зайняла асинхронна операція, і відображаємо його у консолі.
console.time("asyncOperationTime");
function simulateAsyncOperation(duration) {
return new Promise(resolve => {
setTimeout(() => {
resolve(`Операція завершена за ${duration} мс`);
}, duration);
});
}
simulateAsyncOperation(2000).then(result => {
console.log(result); // Виводить: 'Операція завершена за 2000 мс'
console.timeEnd("asyncOperationTime");
});
