code: function(callback, duration){
          var that = this;
          var targetTime = new Date().getTime() + duration;
          var tickObj = {
              tick:function(){
                  var nowTime = new Date().getTime();
                  var dt = nowTime - targetTime;
                  if(dt >= 0){
                      that.removeTick(tickObj);
                      callback();
                  }
              }
          };
          that.addTick(tickObj);
          return tickObj;
      }
docs: 延迟指定的时间后调用回调, 类似setTimeout
  @param  {Function} callback
  @param  {Number}   duration 延迟的毫秒数
  @return {tickObj}