Пытаюсь подключить БД с Node.js. Если я запускаю скрипт из консоли, все выглядит нормально. Но при доступе из браузера ответ останавливается при подключении
Из консоли я получаю
внутренний конкурс
Пример всех слушающих на порту 3000!
Подключен Con!
Из браузера я получаю
Привет, мир! Внутренний тест
Поскольку сообщение «Listen ...» было перед «Connected» в консольной версии, я подумал, что в версии браузера, возможно, система получила res.end () до того, как подключилась к БД. Таким образом, я переместил res.end () из конца функции app.get в конец функции повторного тестирования, и на всякий случай поместил send () - в исходное место. Но это не было причиной, так как я до сих пор не могу получить "Connected Res!" -message.
var http = require('http');
const express = require('express');
const app = express();
const port = 3000;
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "login",
password: "psw",
database: "db"
});
function restest(req, res) {
res.write("inside restest");
con.connect(function(err) {
if (err) throw err;
res.write("Connected Res!");
res.end();
});
}
function contest() {
console.log("inside contest");
con.connect(function(err) {
if (err) throw err;
console.log("Connected Con!");
});
}
contest();
app.get('/nodejs/', function(req, res) {
res.write('Hello World!');
restest(req,res);
res.send("this should not print out");
});
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
Нет сообщений об ошибках, он просто останавливает ответы после записи "inside restest"