各位 大牛给个方案吧 mysql模块 定义方法不能拿到返回值 网上的方案转了一圈 没解决 是我太笨了
发布于 6 年前 作者 XiaoShouMr 3180 次浏览 来自 问答

const mysql = require(‘mysql2’); var host_name = ‘192.168.1.111’ //数据库主机 本地=127.0.0.1 数据库= 192.168.1.111 var database_name =‘x_60’ //数据库名称变量

const connection = mysql.createConnection({ // 连接数据库 host : host_name, //数据库地址 user : ‘root’, //用户名 password :‘root123456’, //密码 database : database_name //数据库名 });

function read (sql) { connection.query( //查询所有表名称 sql, function (error, res) { //console.log(‘错误’,error); // error 错误信息 console.log(‘返回’,res); // results 返回值 return res }); }

var data = read (“show tables”); console.log(data); // 当前返回值undefined

以上是源码 想用 方法返回值 赋值给变量

7 回复

看样子是还没懂node的异步。 你的read()是异步的

@Yangk030208 我就看了下基础文档就开始写了。。。。。。 第一天写node 我先去补习下回调

@XiaoShouMr 话说你没看node的基本语法,就直接用MySQL?

@Yangk030208 基本语法看了 我就菜鸟教程走了一遍就开始写了 有python的小基础感觉不是很难 谁知道没写到 mysql这里 卡住了 昨天凌晨到现在了

@Yangk030208 还有一点我没看懂 就是没拿到返回值 就直接打印出了undefined 然后才是执行的方法打印出来 貌似是异步。。。 但是我没有用任何异步代码啊

@XiaoShouMr node的异步,刚开始写很不习惯的,多写写就好了。

回到顶部