gpt4 book ai didi

javascript - 在 Nodejs 中将 SELECT sql 变量数组从一个文件发送到另一个文件

转载 作者:行者123 更新时间:2023-11-29 17:57:20 26 4
gpt4 key购买 nike

我正在尝试将 module.export “行”从此函数转移到 anotherfile.js

“mysql.js”

const gameserverShow = function () {
con.query(`SELECT * FROM gameservers`, (err, rows) => {
if (err) throw err;
return rows;
});
}

module.exports.gameserverShow = gameserverShow;

我尝试在数组中创建一个“foreach 循环”并将其发送出去,但每次我尝试使用 console.log 记录它时,它都会返回“未定义”。有不同/正确的方法吗?

“另一个文件.js”

const mysqlcon = require("./mysql.js");
if (args[0] == 'show') {
mysqlcon.gameserverShow();
console.log(mysqlcon.gameserverShow.rows);
}

最佳答案

你这样做的方式是错误的。您应该首先阅读 javascript 函数调用、回调的工作原理以及如何在 javascript 中处理异步任务。您必须使用回调或 Promise 异步处理它。当您在此处使用回调时,以下是基本代码。

const gameserverShow = function (callback) {
con.query(`SELECT * FROM gameservers`, (err, rows) => {
if (err) callback(err);
callback(null, rows);
});
}

module.exports.gameserverShow = gameserverShow;

在另一个文件中

const mysqlcon = require("./mysql.js");
if (args[0] == 'show') {
mysqlcon.gameserverShow((error, rows) => {
console.log(rows);
});
}

您可以搜索如何使用 Promise 来做到这一点。这里有很多关于此的问题。

关于javascript - 在 Nodejs 中将 SELECT sql 变量数组从一个文件发送到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48685213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com