本文整理汇总了TypeScript中@aurelia/kernel.PLATFORM.global.setTimeout方法的典型用法代码示例。如果您正苦于以下问题:TypeScript PLATFORM.global.setTimeout方法的具体用法?TypeScript PLATFORM.global.setTimeout怎么用?TypeScript PLATFORM.global.setTimeout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@aurelia/kernel.PLATFORM.global
的用法示例。
在下文中一共展示了PLATFORM.global.setTimeout方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: throttle
export function throttle(this: ThrottleableBinding, newValue: unknown): void {
const state = this.throttleState;
const elapsed = +new Date() - state.last;
if (elapsed >= state.delay) {
PLATFORM.global.clearTimeout(state.timeoutId);
state.timeoutId = -1;
state.last = +new Date();
this.throttledMethod(newValue);
return;
}
state.newValue = newValue;
if (state.timeoutId === -1) {
const timeoutId = PLATFORM.global.setTimeout(
() => {
state.timeoutId = -1;
state.last = +new Date();
this.throttledMethod(state.newValue);
},
state.delay - elapsed
);
state.timeoutId = timeoutId;
}
}
示例2: debounceCall
export function debounceCall(this: DebounceableBinding, newValue: unknown, oldValue: unknown, flags: LifecycleFlags): void {
const state = this.debounceState;
PLATFORM.global.clearTimeout(state.timeoutId);
if (!(flags & state.callContextToDebounce)) {
state.oldValue = unset;
this.debouncedMethod(newValue, oldValue, flags);
return;
}
if (state.oldValue === unset) {
state.oldValue = oldValue;
}
const timeoutId = PLATFORM.global.setTimeout(
() => {
const ov = state.oldValue;
state.oldValue = unset;
this.debouncedMethod(newValue, ov, flags);
},
state.delay
);
state.timeoutId = timeoutId;
}
示例3: debounceCallSource
export function debounceCallSource(this: DebounceableBinding, newValue: unknown, oldValue: unknown, flags: LifecycleFlags): void {
const state = this.debounceState;
PLATFORM.global.clearTimeout(state.timeoutId);
state.timeoutId = PLATFORM.global.setTimeout(() => { this.debouncedMethod(newValue, oldValue, flags); }, state.delay);
}
示例4: Promise
return new Promise((resolve: ITimerHandler) => PLATFORM.global.setTimeout(resolve, !isNaN(delay) ? delay : 0))