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(); };
前台收到空数据,求解。
response.end写错位置了,写回调里
谢谢!
我想问一下 我要把里面的result 作为结果return要怎么写 为什么result 在query里赋值,在外面得到的是空值
@zhangking520 这个的话,我建议你先搞懂node.js的异步机制。你把代码写在外面,并不一定是在你的回调执行完了再执行,所以就不一定收到值.
@sumory 就是可能query没执行完,就return了 所以是空值?那应该怎么解决呢
@zhangking520 你是初学者吗?我建议你先搞懂nodejs的‘异步机制’,清楚回调函数的执行过程
@zhangking520 你搞懂了自然就明白了,没有‘怎么解决’的问题,先把基本概念搞懂,再来写代码,否则会把自己乱死掉
@sumory 好的 我先去看书 以前搞java的 刚刚接触这个
@zhangking520 嗯,我以前也是java的,刚接触这个的时候也是一时转不过弯来。你一定先把基本概念搞懂了再上手写代码,不要似是而非.