當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript lodash.now函數代碼示例

本文整理匯總了TypeScript中lodash.now函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript now函數的具體用法?TypeScript now怎麽用?TypeScript now使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了now函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: Promise

(async () => {
  const start = lodash.now();
  console.log(2);

  await new Promise(resolve => {
    setTimeout(() => {
      console.log(4);
      resolve();
    }, 2000);
  });

  console.log(5);
  console.log(lodash.now() - start + 'ms passed.');
})();
開發者ID:ovrmrw,項目名稱:ts-babel-node-sample,代碼行數:14,代碼來源:server.ts

示例2: getJson

export function getJson(url, data, onError) {
  const d = data ? _.cloneDeep(data) : {};
  d.t = _.now();
  d.lang = getLocale();

  const req = get(url, d);
  return handleRequest(req, onError);
}
開發者ID:xlsdg,項目名稱:umi-dva-antd-typescript-starter,代碼行數:8,代碼來源:request.ts

示例3: startTimer

 startTimer(): number {
   if (!this.proccessing) {
     console.log('Start Timer');
     this.proccessing = true;
     this.startTime = lodash.now();
     this.filterId = '' + this.startTime + lodash.uniqueId();
     this.endTime = null;
     this.textFinished = null;
   }
   return this.startTime;
 }
開發者ID:ovrmrw,項目名稱:shuttle-store-sample,代碼行數:11,代碼來源:page4.component.ts

示例4: canUpdateVersion

  private static canUpdateVersion(): boolean {
    const versionCheckInfoFromLocalStorage = localStorage.getItem("versionCheckInfo");

    if (_.isEmpty(versionCheckInfoFromLocalStorage)) {
      return true;
    }

    const versionCheckInfo: VersionCheckInfo = JSON.parse(versionCheckInfoFromLocalStorage as string);

    const lastUpdateAt: Date = new Date(versionCheckInfo.last_updated_at);
    const halfHourAgo: Date  = new Date(_.now() - 30 * 60 * 1000);

    return halfHourAgo > lastUpdateAt;
  }
開發者ID:Skarlso,項目名稱:gocd,代碼行數:14,代碼來源:version_updater.ts

示例5: constructor

 constructor(options?: StateOptions) {
   if (options) {
     const {key, value, osn, ruleOptions} = options;
     this.key = key ? key : null;
     this.value = lodash.isUndefined(value) ? null : value;
     this.osn = osn;
     this.rule = ruleOptions ? new StateRule(ruleOptions) : null;
   } else {
     this.key = null;
     this.value = null;
     this.osn = null;
     this.rule = null;
   }
   this.timestamp = lodash.now();
 }
開發者ID:ovrmrw,項目名稱:shuttle-store-sample,代碼行數:15,代碼來源:store.type.ts

示例6: stopTimer

 stopTimer(valid?: boolean): void {
   if (this.proccessing) {
     console.log('Stop Timer');
     if (valid) {
       this.endTime = lodash.now();
       this.textFinished = this.text;
       this.textMissed = null;
       toastr.success('PERFECT! ' + this.result + '\nLet\'s watch True-time Replay.'); // alert('COMPLETED! ' + this.result + "\nLet's watch True-time Replay.");
       this.startTruetimeReplay();
     } else {
       this.textMissed = this.text;
     }
     this.text = null;
     this.proccessing = false;
   }
 }
開發者ID:ovrmrw,項目名稱:shuttle-store-sample,代碼行數:16,代碼來源:page4.component.ts

示例7: alert

 .do(event => { // 処理中のキー入力イベントをハンドリングする。
   if (this.proccessing) {
     const keyCode = event.keyCode;
     if (keyCode - previousKeyCode !== 1) {
       toastr.error('OOPS! TRY AGAIN.'); // alert('OOPS! TRY AGAIN.');
       this.stopTimer();
     } else {
       const now = lodash.now();
       const keyInput: KeyInput = {
         code: event['code'],
         keyCode: keyCode,
         filterId: this.filterId,
         diff: keyCode === 65 /* keyA */ ? 0 : now - previousTime
       };
       this.service.putKeyInput(keyInput).then(x => x.log('KeyInput')); // serviceを経由してStoreに値を送り、戻り値として得たStateをコンソールに出力する。
       previousTime = now;
       previousKeyCode = keyCode;
     }
   }
 })
開發者ID:ovrmrw,項目名稱:shuttle-store-sample,代碼行數:20,代碼來源:page4.component.ts

示例8: gabageCollectorFastTuned

export function gabageCollectorFastTuned(states: State[]): State[] {
  if (states.length === 0) { return states; }
  console.time('gabageCollectorFastTuned');
  // const keys = stateObjects.filter(obj => obj && typeof obj === 'object').map(obj => Object.keys(obj)[0]);
  let keys: string[] = [];
  // let i = 0;
  for (let i = 0; i < states.length; i = (i + 1) | 0) {
    const state = states[i];
    if (state && !!state.key) { // この段階でstate.keyがnullのものは除外される。
      keys.push(state.key);
    }
    // i = (i + 1) | 0;
  }
  const uniqKeys = lodash.uniq(keys);
  // console.log('Keys: ' + uniqKeys.join(', '));
  let newObjs: State[] = [];

  // key毎に保存最大數を超えたものをカットして新しい配列を作る。
  // uniqKeys.forEach(key => {
  //   const objs = stateObjects.filter(obj => obj && key in obj);
  //   if (objs.length > maxElementsByKey) {
  //     objs.reverse().slice(0, maxElementsByKey).reverse().forEach(obj => newObjs.push(obj));
  //   } else {
  //     objs.forEach(obj => newObjs.push(obj));
  //   }
  // });
  // let j = 0;
  for (let j = 0; j < uniqKeys.length; j = (j + 1) | 0) {
    // const objs = stateObjects.filter(obj => obj && uniqKeys[i] in obj);
    const identifier = uniqKeys[j];
    let objs: State[] = [];
    // let k = 0;
    for (let k = 0; k < states.length; k = (k + 1) | 0) {
      const state = states[k];
      if (state && state.key === identifier) {
        objs.push(state);
      }
      // k = (k + 1) | 0;
    }

    // StateRuleが保持されている場合、最大保存數を差し替える。
    const stateLast = objs[objs.length - 1]; // 配列の末尾を取得
    const limit = stateLast.rule && stateLast.rule.limit ? stateLast.rule.limit : DEFAULT_LIMIT;
    const filterId = stateLast.rule && stateLast.rule.filterId ? stateLast.rule.filterId : null;

    // uniqueIdルールが指定されている場合、同じuniqueIdのものだけ抽出する。
    if (filterId) {
      objs = objs.filter(obj => obj.rule && obj.rule.filterId ? obj.rule.filterId === filterId : true);
    }

    // durationルールが指定されている場合、durationを過ぎていないものだけ抽出する。
    const now = lodash.now();
    objs = objs.filter(obj => obj.rule && obj.rule.duration ? obj.timestamp + obj.rule.duration > now : true);

    // lockルールが指定されている場合、lock=true以降の要素は排除する。
    // put関數の中で製禦する。
    // let isLocked = false;
    // objs = objs.reduce((p, obj) => {
    //   if (!isLocked) { p.push(obj); } // 必ず最初の要素はpushされるようにする。
    //   if (obj.rule && obj.rule.lock) { isLocked = true; }      
    //   return p;
    // }, []);


    if (objs.length > limit) {
      // objs.reverse().slice(0, maxElementsByKey).reverse().forEach(obj => newObjs.push(obj));
      
      // console.log(objs);
      const ary = objs.slice(objs.length - limit); // 先頭側から削除する。
      // console.log(ary);
      
      // let l = 0;
      for (let l = 0; l < ary.length; l = (l + 1) | 0) {
        newObjs.push(ary[l]);
        // l = (l + 1) | 0;
      }
    } else {
      // objs.forEach(obj => newObjs.push(obj));
      // let l = 0;
      for (let l = 0; l < objs.length; l = (l + 1) | 0) {
        newObjs.push(objs[l]);
        // l = (l + 1) | 0;
      }
    }
    // j = (j + 1) | 0;
  }
  newObjs = newObjs.sort((a, b) => a.osn > b.osn ? 1 : -1); // ObjectSequenceNumberの昇順で並べ替える。
  console.timeEnd('gabageCollectorFastTuned');
  return newObjs;
}
開發者ID:ovrmrw,項目名稱:shuttle-store-sample,代碼行數:90,代碼來源:store.helper.ts


注:本文中的lodash.now函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。