我有以下一段JavaScript,但对于某些范围的原因,从myfunc返回的“名称”为空。JavaScript范围问题
var myfunc = function(client, id) {
var names = new Array();
client.query(
'SELECT stuff FROM mytable WHERE id="'+id+'"',
(function selectCb(err, results, fields) {
if (err) {
throw err;
}
for (result in results) {
// This prints fine
console.log(results[result].name);
names[result] = results[result].name;
}
client.end();
})
);
// The following returns empty
return names;
}
console.log(myfunc(1,2));
如何让它突破范围?
我怎么能这样做? – 2010-11-04 21:15:53
我会添加到我的答案。 – Pointy 2010-11-04 21:44:29