Javascript 在流上返回两次数据包是惯例吗?续集

Javascript 在流上返回两次数据包是惯例吗?续集,javascript,node.js,stream,sequelize.js,Javascript,Node.js,Stream,Sequelize.js,我正在尝试使用Sequelize获取特定表的标题。在这样做的过程中,我发现返回的rawdatapacket被返回了两次。这是流发送数据包两次或更多次的约定吗?如下所示,我得到了两次标题。如果是,我该如何处理?我曾考虑过使用\uu.chain.head.flatte.map.value,但如果这是惯例,我想还有更好的方法 /* Returns an array of headers * @param {string} tableName * @param {function} next *

我正在尝试使用Sequelize获取特定表的标题。在这样做的过程中,我发现返回的rawdatapacket被返回了两次。这是流发送数据包两次或更多次的约定吗?如下所示,我得到了两次标题。如果是,我该如何处理?我曾考虑过使用
\uu.chain.head.flatte.map.value
,但如果这是惯例,我想还有更好的方法

/* Returns an array of headers
 * @param {string} tableName
 * @param {function} next
 * @returns {Array} 
 */
let getHeaders = function getHeaders(tableName, next) {
  let query = `SHOW COLUMNS FROM ${tableName}`;
  //TODO: change to spread
  db.sequelize.query(query)
    .then((results, metadata) => {
      console.log("flatten,",_.flatten(results));
    })
    .catch((err) => {
    console.error(err); 
  });
};

[ RowDataPacket {
  Field: 'id',
  Type: 'int(11) unsigned',
  Null: 'NO',
  Key: 'PRI',
  Default: null,
  Extra: 'auto_increment' },
RowDataPacket {
  Field: 'user_id',
  Type: 'int(11)',
  Null: 'YES',
  Key: '',
  Default: null,
  Extra: '' },
RowDataPacket {
  Field: 'question1',
  Type: 'varchar(11)',
  Null: 'YES',
  Key: '',
  Default: null,
  Extra: '' },
RowDataPacket {
  Field: 'question2',
  Type: 'varchar(11)',
  Null: 'YES',
  Key: '',
  Default: null,
  Extra: '' },
DUPLICATE STARTS HERE:
RowDataPacket {
  Field: 'id',
  Type: 'int(11) unsigned',
  Null: 'NO',
  Key: 'PRI',
  Default: null,
  Extra: 'auto_increment' },
RowDataPacket {
  Field: 'user_id',
  Type: 'int(11)',
  Null: 'YES',
  Key: '',
  Default: null,
  Extra: '' },
RowDataPacket {
  Field: 'question1',
  Type: 'varchar(11)',
  Null: 'YES',
  Key: '',
  Default: null,
  Extra: '' },
RowDataPacket {
  Field: 'question2',
  Type: 'varchar(11)',
  Null: 'YES',
  Key: '',
  Default: null,
  Extra: '' } ]