【发布时间】:2020-10-15 22:51:30
【问题描述】:
我试图一劳永逸地了解客户端和服务器之间的异步交互!我一直在这个问题上磕磕绊绊,我需要理解它。
这是我的绊脚石:
我有一个简单的 nodeJS 文件,它应该在端口 8080 上进行侦听,并以 mysql 查询的结果进行响应。在这里:
const mysql = require('mysql');
const http = require('http');
const Promise = require('promise');
const con = mysql.createConnection({
host: "localhost",
user: "user",
password: "password",
database: "database"
});
const queryDatabase = (query = "SELECT * FROM users") => new Promise( (resolve, reject) => {
try {
con.connect( (err) => {
if (err) throw(err);
else {
con.query(query, (err, result, fields) => {
if (err) throw(err);
resolve(JSON.stringify(result));
})
}
})
} catch(err) {
reject(err);
}
})
http.createServer( async (req, res) => {
res.writeHead(200, {'Content-Type': 'text/html'});
// res.write(req.url);
res.write('here are your results: ', await queryDatabase());
res.end();
}).listen(8080);
当我运行此文件并将浏览器指向它时,我收到消息“这是您的结果:”但没有结果。
我知道这是一个非常简单的问题,我会一遍又一遍地遇到。
如果有人可以提供此代码工作的简单示例,并可能为我提供一些相关阅读,我将非常感激。
谢谢,
丹。
【问题讨论】:
标签: javascript mysql node.js asynchronous xmlhttprequest