如何在httpserver之前操作Mysql数据库
发布于 2年前 作者 linbo 625 次浏览

现在有个需求,node http server启动之前,需要到mysql查询一些数据,根据查询得到的数据,http决定每次返回的数据

伪代码

var price = -1; var userId = 'some user provided value’; var sql = 'SELECT max(price) FROM users WHERE id = ' + connection.escape(userId); connection.query(sql, function(err, results) { price = results.price; });

server = http.createServer(function (request, response) { handler(request); }).listen(8012);

主要想问一下,查询mysql和处理http请求之间是异步的吗? 如果是异步的,怎么保证在处理http请求之前,我查询mysql然后做一写操作呢?

4 回复

把server.listen(8012)放在function(err,results){}回调里面不就行了吗?

handler(request)需要用到price

@linbo server = http.createServer(function (request, response) { handler(request); }).listen(8012); 整个放进去也是可以啊

@dengqiao 这样的话,mysql链接是不是一直占用着? 我想在程序启动的时候查询mysql然后释放掉链接,然后去处理http server

回到顶部