class BaseLol {
/* ... */
static exportCallable<T extends { new (...args: any[]): any;}>(this: T) {
return new Proxy(this, {
apply(ctor, _, args) {
return new ctor(...args);
}
}) as T & ((...args: ConstructorParameters<T>) => InstanceType<T>);
}
}
class Lol extends BaseLol {
constructor(public name: string) {
super();
this.name = name.toUpperCase();
}
}
export default Lol.exportCallable();
import(). Не будет вызвана - вообще никогда не загрузит. В vue суть та же, просто vue вызовет import тогда и только тогда, когда надо будет нарисовать компонент\открыть страницу.
import('./some.js').then(...) - some.js и все импорты внутри(которые есть только там) - будет вынесен в отдельный чанк, vue - https://ru.vuejs.org/v2/guide/components-dynamic-a...
При всех запросах возвращает статус "пауза" и остаток.
При запросе "плей", "программистский" вариант: переписываешь дату старта как: и дальше как обычно, либо переписываешь
<начальный остаток таймера>как<запомненный остаток>и ставишь дату старта как<текущая дата>."Нормальный" вариант - ничего не переписывать, а написать нормальный класс с логикой по статусам и вычислениями, но мне лень.
Вообще всё это упражнения по базовой логике, ты уверен что хочешь быть программистом если даже такая малость у тебя вызывает затруднение?