本文整理汇总了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.');
})();
示例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);
}
示例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;
}
示例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;
}
示例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();
}
示例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;
}
}
示例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;
}
}
})
示例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;
}