【问题标题】:Exporting data from the function [mysql, node.js, discord.js]从函数中导出数据 [mysql, node.js, discord.js]
【发布时间】:2021-08-14 14:05:07
【问题描述】:

我在从函数中导出数据时遇到了这样的问题。我不知道它是否可以完成,但我在这里看不到任何其他解决方案。我的问题是我正在导出一个函数,我想导出这个函数的结果,所以在这种情况下我有 MYSQL。我无法将rows 添加到module.exports = {sql, rows},因为我收到一条消息,指出rows 未定义。我正在寻求帮助或其他解决方案。

//------------------------------
???? index.js
//------------------------------

const mysql = require('mysql')
const db = require('./database')

var con = mysql.createConnection({
        host: db.host,
        user: db.user,
        password: db.password,
        database: db.database
})

con.connect(err => {
        if(err) console.log(err)
})

function sql(sql){
        con.query(sql, (err, rows) => {
            if(err) console.log(err)

        })
}

module.exports = { sql, rows }

// con.end()

//------------------------------
???? Command file
//------------------------------

const sql = require('./../config/test')

sql.sql("SELECT * FROM `servers`")
console.log(sql.rows)

//------------------------------
???? Console error
//------------------------------
(node:30132) UnhandledPromiseRejectionWarning: ReferenceError: rows is not defined

【问题讨论】:

    标签: javascript mysql sql node.js discord.js


    【解决方案1】:

    您可以使用Callback function,您可以在其中以您想要的方式使用数据。通过将函数作为参数传递给sql 函数,您可以使用从数据库中获取的rows 作为参数调用该回调函数。

    看看我为你编辑的代码:

    你的 index.js

    /* Skipped all code above that isn't important for this example */
    
    function sql(query, callback){
        con.query(query, (err, rows) => {
            if(err) console.log(err);
    
            callback(rows);
        });
    }
    
    module.exports = {sql}
    

    你的命令文件

    const queryHandler = require('./../config/test');
    
    // Call the sql function and pass a callback as the 2nd parameter
    queryHandler.sql("SELECT * FROM `servers`", (rows) => {
        // Do whatever you want with the rows
        console.log(rows);
    });
    

    试一试看看效果如何

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 1970-01-01
      • 2021-11-26
      • 2011-03-01
      • 1970-01-01
      • 2021-12-09
      • 2014-04-30
      • 2013-12-06
      • 2016-01-13
      相关资源
      最近更新 更多