Nodejs 类返回未定义
Posted
技术标签:
【中文标题】Nodejs 类返回未定义【英文标题】:Nodejs class return undefined 【发布时间】:2022-01-10 08:53:03 【问题描述】:我有一个这样的nodejs代码
const mysql = require('mysql');
const express = require('express');
const app = express();
class ConnectDatabase
constructor()
this.connection = mysql.createConnection(
host: 'localhost',
user: 'root',
password: '',
database: 'mydatabase'
);
;
getVersion()
this.connection.query('SELECT * FROM version', function (err, results)
return results[0].version // if use console.log() i get my data
);
;
;
var APP = new ConnectDatabase()
console.log(APP.getVersion());
当我使用 console.log(results[0].version) 时,我得到了我的数据,但是当我使用 return 时,我的数据变得未定义
【问题讨论】:
也许您可以在getVersion
中定义一个变量,例如var ret;
,然后将results[0].version
的值分配给它,例如ret = results[0].version;
您的.getVersion
是异步的,您可以像处理它的同步一样处理它。使用回调或承诺,简短快速的解释:***.com/a/20635030/5781499
【参考方案1】:
我是 Node js 开发人员,我正在使用 mongodb。我认为一切都很好。 3个可能的问题
1 首先检查 xampp 是否正在运行 2 是否与数据库建立连接 3 表名
【讨论】:
问题是关于 MySQL 而不是 MongoDB。 我知道,但首先检查您的连接是否已建立。您与数据库的连接。和控制台只结果不是结果[0]。 当然连接已建立,OP 表示结果已记录到控制台。以及为什么 Node.js 用于服务器时会有 XAMPP? 因为你使用的是mysql作为数据库。 虽然 XAMPP 确实带有 MySQL,但在这种情况下,似乎没有对 XAMPP 的依赖,因为 MySQL 可以在没有 XAMPP 的情况下安装在您的系统上。以上是关于Nodejs 类返回未定义的主要内容,如果未能解决你的问题,请参考以下文章
JQuery Post到NodeJS返回MySQL值给出未定义?
要求函数的返回数据变为未定义(Js,NodeJs,Discord.js)[重复]