Перейти к основному содержанию

timer


timer

Автоматически переведённая страница

К сожалению, на полный ручной перевод у нас не хватает ресурсов.
Если вы увидели ошибку — отправьте пул-риквест с исправлениями (ссылка для редактирования в конце страницы).

timer позволяет создавать таймеры, опционально выполняя функцию при достижении определенного времени.

Примеры:

JavaScript
// Добавить таймер
timer.add(1000, 'test');
// или:
new CtTimer(1000, 'test');
JavaScript
// Создать новый таймер и сохранить его в переменной `timer`
// Записать "Готово!" когда пройдет 2,5 секунды
var timer = timer.add(2500, 'test');
timer.then(() => {
    // Сделать что-то полезное
    hero.invinvible = false;
    console.log('Готово!');
})
// Часть `.catch` не требуется. Без нее вы увидите ошибки в консоли, когда таймеры будут прерваны,
// либо вручную, либо при переходе в другую комнату
.catch(e => {
    console.log('Таймер удален', e);
    // Добавьте код здесь, чтобы важная информация все равно получалась при переходе в другую комнату:
    hero.invinvible = false;
});

// Записать оставшееся время
console.log(timer.time);

// Остановить таймер. Он не вызовет код внутри блока `then(() => …)`
timer.reject();

// Активировать таймер вручную
timer.resolve();

Методы timer

timer.add(timeMs, name) -> void

Создает новый таймер, который работает в игровом времени и подвержен ускорению/замедлению времени.

ПараметрТипОписание
timeMsNumberПродолжительность таймера, в миллисекундах
[name]StringИмя таймера, которое будет доступно через timer.name.

timer.addUi(timeMs, name) -> void

Создает новый таймер, который работает в шкале времени пользовательского интерфейса.

ПараметрТипОписание
timeMsNumberПродолжительность таймера, в миллисекундах
[name]StringИмя таймера, которое можно получить через timer.name.

Свойства таймера

CtTimer.time => number

Количество времени, в миллисекундах, за которое таймер был активен.

CtTimer.timeLeft => number

Количество времени, оставшегося до timeMs. По умолчанию равно 0.

CtTimer.name => String | false

Имя таймера, или false, если имени не было дано.

CtTimer.uiDelta => Boolean

Если true, то он будет использовать u.timeUi для подсчета времени. Если false, то он будет использовать u.time для подсчета времени.

CtTimer.promise ⇒ Promise

Обещание, используемое для выполнения обратных вызовов после завершения таймера. Вы можете использовать его вместе с другими обещаниями и методами Promiseopen in new window для создания сложных асинхронных цепей.

CtTimer.resolve => Функция

Немедленно активирует обещание, вызывая обратный вызов.

CtTimer.reject => Функция

Остановит таймер, отклонив внутренний промис.

CtTimer.rejected => Boolean

Если true, таймер был отклонен.

CtTimer.done ⇒ Boolean

Если true, таймер был выполнен.

CtTimer.settled => Boolean

Если равно true, таймер был либо отклонен, либо выполнен.

Методы таймера

CtTimer.then ⇒ void

Зеркалит CtTimer.promise.then().

Привязывает коллбэки для выполнения при выполнении или сбое внутреннего Promise.

ПараметрТипОписание
onfulfilledAnyКоллбэк, который будет выполнен при выполнении Promise.
[onrejected]AnyКоллбэк, который будет выполнен при сбое Promise.

CtTimer.catch => void

Отражает CtTimer.promise.catch().

Привязывает коллбэки для отклонения внутреннего Promise.