blear.utils.time

1Introduction

2Example

var time = require('blear.utils.time');

3Static

3.1.nextTick(callback): undefined

下一次执行,异步。常用于一些任务需要在下一个事件循环执行的时候。

time.nextTick(function() {
    ui.emit('嘻嘻', 'Hello');
});

3.1.1callback

  • 类型:Function

3.2.nextFrame(callback): frame

下一帧执行,异步。常用于一些计算布局的代码需要在下一帧渲染之后运行。

time.nextFrame(function() {
    canvas.flash();
});

3.2.1callback

  • 类型:Function

3.3.cancelFrame(frame): undefined

取消下一帧执行的内容。

3.3.1frame

  • 类型:Object
  • 说明:该参数由 nextFrame(callback) 返回

3.4.setInterval(callback([next()]), [interval=1], [ASAP=false]): intervalInfor

精确的定时器。

var intervalInfo = time.setInterval(function() {
   ajax();

   // 下一次计时会在 ajax 执行完成之后进行
});

var intervalInfo = time.setInterval(function(next) {
   ajax({
       // ...
   }).success(next);
   //         ^^^^^^
   //         下一次计时会在 ajax 异步完成之后进行
});

3.4.1callback

  • 类型:Function

3.4.2callback: next

  • 类型:Function
  • 说明:下一次,如果标记了该参数,则表示 callback 是异步的,下一次计时会在异步完成之后继续
  • 默认:空

3.4.3interval

  • 类型:Number
  • 说明:定时器间隔,单位 ms
  • 默认:1

3.4.4ASAP

  • 类型:Boolean
  • 说明:是否立即尽快执行,ASAP 是 as soon as possible 的意思
  • 默认:false

3.4.5intervalInfor

  • 类型:Object
  • 说明:定时器信息
3.4.5.1intervalInfor.id
  • 类型:Number
  • 说明:定时器 ID,不重复
3.4.5.2intervalInfor.times
  • 类型:Number
  • 说明:循环次数
3.4.5.3intervalInfor.startTime
  • 类型:Number
  • 说明:开始时间戳
3.4.5.4intervalInfor.timeStamp
  • 类型:Number
  • 说明:当前时间戳
3.4.5.5intervalInfor.elapsedTime
  • 类型:Number
  • 说明:消费时间
3.4.5.6intervalInfor.intervalTime
  • 类型:Number
  • 说明:间隔时间
3.4.5.7intervalInfor.stopTimeStamp
  • 类型:Number
  • 说明:停止时间戳

3.5.clearInterval(intervalInfor): undefined

取消定时器。

time.clearInterval(intervalInfo);

3.5.1intervalInfor

  • 类型:Object
  • 说明:定时器信息,参考 setInterval

3.6.setIntervalFrame(callback([next()]), [interval=1], [ASAP=false]): intervalInfor

参考 setInterval,参数与其一致。不同的是,该定时器是由 requestAnimationFrame 触发。 常用于画布上的动画实现。基于此,也可以计算出屏幕当前的 fps。

3.7.clearIntervalFrame(intervalInfor): undefined

参考 clearInterval

4Dependencies

5Reference