当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript PLATFORM.global.clearTimeout方法代码示例

本文整理汇总了TypeScript中@aurelia/kernel.PLATFORM.global.clearTimeout方法的典型用法代码示例。如果您正苦于以下问题:TypeScript PLATFORM.global.clearTimeout方法的具体用法?TypeScript PLATFORM.global.clearTimeout怎么用?TypeScript PLATFORM.global.clearTimeout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@aurelia/kernel.PLATFORM.global的用法示例。


在下文中一共展示了PLATFORM.global.clearTimeout方法的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;
  }
}
开发者ID:aurelia,项目名称:aurelia,代码行数:26,代码来源:throttle.ts

示例2: unbind

 public unbind(flags: LifecycleFlags, scope: IScope, binding: DebounceableBinding): void {
   // restore the state of the binding.
   const methodToRestore = binding.debouncedMethod.originalName;
   binding[methodToRestore] = binding.debouncedMethod;
   binding.debouncedMethod = null;
   PLATFORM.global.clearTimeout(binding.debounceState.timeoutId);
   binding.debounceState = null;
 }
开发者ID:aurelia,项目名称:aurelia,代码行数:8,代码来源:debounce.ts

示例3: 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;
}
开发者ID:aurelia,项目名称:aurelia,代码行数:21,代码来源:debounce.ts

示例4: 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);
}
开发者ID:aurelia,项目名称:aurelia,代码行数:5,代码来源:debounce.ts


注:本文中的@aurelia/kernel.PLATFORM.global.clearTimeout方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。