如何在node.js中同步使用mysql?我想用数据库中的数据执行查询和渲染正确渲染的表单,如:
userData = db.query "SELECT * FROM users WHERE id=1"
form.bind(userData)
res.render 'user/edit', {'form' : form}
答案 0 :(得分:3)
通过标题我假设你的意思是同步的。答案是你不能。这是因为NodeJS是单线程的,因为I / O(即与数据库的通信)是在一个单独的线程中处理的(由NodeJS内部使用,它不适用于程序员),I / O的结果被推送到事件循环的顶部。但NodeJS无法在不离开当前事件的情况下跳转到事件循环中的另一个事件。
无论你喜不喜欢,你都必须坚持使用异步模式。