我一直在构建一个IoT灯,希望能够通过手机打开和关闭它。
我有工作代码可以将数据从ESP 8266上传到我的后端->我的phpMyAdmin MySQL数据库。但是当我尝试将值发送到设备时,如果我使用某种
con.query("SELECT * FROM switch", function (err, result) { }
。
它不能与.then一起使用,也不能从那里发送数据。请参阅下面的评论(1项工作,2-3项无效)。
我已经尝试了许多不同的东西,如下所示。
const express = require('express');
const router = express();
var mysql = require("mysql");
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "light"
});
var pool = mysql.createPool({
connectionLimit: 100,
connectTimeout: 500000,
acquireTimeout: 500000,
queueLimit: 30,
host: 'localhost',
user: 'root',
password: '',
database: 'light',
multipleStatements: true,
});
con.connect(function (err) {
if (err) throw err;
});
router.get('/', (req, res, next) => {
// res.send("hello"); // 1 WORKS
var GetLight = function () {
return new Promise(function (resolve, reject) {
con.query("SELECT * FROM switch", function (err, result) {
// res.send("hello"); //2 Dont work
if (err) {
return reject(err);
} else {
return resolve(result);
}
});
});
}
GetLight().then(Resultat => {
//res.status(200).json(Resultat); //3 Dont work
}).catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
});