小弟最近在练习node js 但总是遇到一个问题不知道该怎么解决 是关于callback的问题 举个例子来说 mysql 模塊中對mysql下query
var rs; connection.query('SELECT 1 + 1 AS solution’, function(err, rows, fields) { if (err) throw err; rs = rows; console.log('The solution is: ', rows[0].solution); });
根据官方文件 返回的结果 会传给rows 但我在外面宣告一个变数去里面把rows传给他 但之后console看却是undefine 不确定是不是callback函数的范围问题
如果我想要对结果作处理一定要在callback里面做吗? 得到的结果可以传出来吗?这个地方我一直有问题观念不是很懂 所以来这边请教一下各位
6 回复
@leesin11 这就是nodejs的异步编程特性。听我的,做一个小的测验。
connection.query('SELECT 1 + 1 AS solution’, function() { console.log(‘我在回调里’); }); console.log(‘我在回调外,回调什么的最讨厌了,我等不及了,我要滚蛋了’);
你执行这个脚本,看到结果你就明白了。
请叫我雷锋