code: function ONSConsumer(cid, topic, tag, accessKey, secretKey, options) {
      EventEmitter.call(this);
  
      Object.defineProperties(this, {
          consumer: {
              enumerable: false,
              writable: false,
              configurable: false,
              value: new _Consumer(cid, topic, tag, accessKey, secretKey, options) // jshint ignore: line
          },
  
          keepTimer: {
              enumerable: false,
              writable: true,
              configurable: true,
              value: null
          },
  
          consumerId: {
              enumerable: true,
              writable: false,
              configurable: false,
              value: cid
          },
  
          topic: {
              enumerable: true,
              writable: false,
              configurable: false,
              value: topic
          },
  
          tag: {
              enumerable: true,
              writable: false,
              configurable: false,
              value: tag
          }
      });
  }
docs: Consumer
  @param {String} cid the consumer id
  @param {String} topic the topic
  @param {String} tag the tag
  @param {String} accessKey the access key
  @param {String} secretKey the secret key
  @param {Object} [options] the options
  @param {String} [options.onsAddr] the fetching ONS server address
  @param {String} [options.namesrvAddr] the ONS server address
  @param {Number} [options.threadNum] the thread count
  @param {Boolean} [options.order] whether it will be `OrderConsumer`
  @constructor