code: function Base(){
    var that = this
      ;
    
    this.pendStep = 500;
    
    this.on('pendStart', function(){
      this.pendTimer = setInterval(function(){
        that.pending && that.pending();
      }, this.pendStep);
    });
    this.on('pendEnd', function(res, err){
      clearInterval(this.pendTimer);
      if(!res && err){
        process.nextTick(function(){
          console.error(color(err).error);
        });
      }
    });
    
    this.on('data', function(type, data){
      that.rendData(type, data);
    });
    
  }
docs: base shower.
  @constructor
  Events:
  
  - `pendStart`: 异步调用看开始. 比如开始请求数据
  - `pendEnd`: 异步调用成功完成. 传入事件监听函数两个参数: 请求结果, 数据/错误信息
  - `data`: 数据返回