如何在httpserver之前操作Mysql数据库
发布于 12 年前 作者 linbo 4540 次预览 最后一次回复是 12 年前 来自
现在有个需求,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