Javascript 在流上返回两次数据包是惯例吗?续集
我正在尝试使用Sequelize获取特定表的标题。在这样做的过程中,我发现返回的rawdatapacket被返回了两次。这是流发送数据包两次或更多次的约定吗?如下所示,我得到了两次标题。如果是,我该如何处理?我曾考虑过使用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 *
\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: '' } ]