节点JavaScript后端将数据从MysqlDB发送到ESP8266

时间:2018-10-24 13:16:56

标签: mysql node.js get iot

我一直在构建一个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
        });
    });
});

0 个答案:

没有答案