Node.js util.promisify-将stdout输出为obj或数组而不是换行

时间:2019-01-10 08:03:21

标签: javascript node.js

我正在设置本地脚本以在本地设置网站,并试图从mysql获取一些数据。

const util = require('util');
const exec = util.promisify(require('child_process').exec);

class Setup {
    constructor() {}

    async setLocalURLs(){
        const base_urls = await exec(`mysql -h${this.configFile.database.host} -u${this.configFile.database.username} -D ${this.databaseName} -p${this.configFile.database.password} -e 'SELECT id, value FROM table'`);
        console.warn(base_urls.stdout)
    }
}

module.exports = Setup;

它完全可以工作,但是我得到的结果是新行。 来自以下命令行数据的结果:

2747    valueA 
2748    valueB
2749    valueC
2750    valueD
2751    valueE
是否可以将其输出为obj或数组,而不是'util'中的换行符? (当然,在选项卡等上没有拆分,我可以自己做;))

1 个答案:

答案 0 :(得分:0)

来自documentation

  
      
  • stdout <string> | <Buffer>
  •   

如何解释此字符串取决于您。 NodeJS无法奇迹般地了解您的意图。这意味着解析此输出并将其转换为对象和/或数组是您的工作。