我有以下一段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