mysql 查询问题
发布于 2年前 作者 zhangking520 738 次浏览

var client = require(“…/model/db”).client; var login; login = function (response, request, arguments) { var result = ""; client.query("select * from user", function (err, results) { if (err) { throw err; } result = JSON.stringify(results); response.write(result); client.end(); }); response.end(); };

前台收到空数据,求解。

9 回复

response.end写错位置了,写回调里

我想问一下 我要把里面的result 作为结果return要怎么写 为什么result 在query里赋值,在外面得到的是空值

@zhangking520 这个的话,我建议你先搞懂node.js的异步机制。你把代码写在外面,并不一定是在你的回调执行完了再执行,所以就不一定收到值.

@sumory 就是可能query没执行完,就return了 所以是空值?那应该怎么解决呢

@zhangking520 你是初学者吗?我建议你先搞懂nodejs的‘异步机制’,清楚回调函数的执行过程

@zhangking520 你搞懂了自然就明白了,没有‘怎么解决’的问题,先把基本概念搞懂,再来写代码,否则会把自己乱死掉

@sumory 好的 我先去看书 以前搞java的 刚刚接触这个

@zhangking520 嗯,我以前也是java的,刚接触这个的时候也是一时转不过弯来。你一定先把基本概念搞懂了再上手写代码,不要似是而非.

回到顶部