这里我正在使用此函数来检查数据库中是否已经存在数据库,如果不是我计划添加它(尚未实现)。
function pairPlaces(parsed, callback) {
for (var placeKey in parsed.results) {
var place = parsed.results[placeKey];
var placeid = place.place_id;
var name = place.name;
var lat = place.geometry.location.lat;
var lng = place.geometry.location.lng;
var vicinity = place.vicinity;
console.log(placeKey + "::" + name + "-" + placeid);
client.execute("select * from places where placeid='"+placeid+"'", function(err, result) {
if(!err) {
if(result.rows.length > 0) {
console.log('Found...');
} else {
console.log('Added: ' + name);
}
}else {
console.log('DB ERR: %s', err);
}
});
}
callback(parsed);
}
但是,在检查数据库并发现没有添加任何位置后,控制台会记录与循环中最后一个相同的地名,而不是相应的查询位置。我做错了什么?
上述功能的控制台输出:
0::Harry's Chocolate Shop-ChIJNx4C967iEogRjyKJNWYeSjs
1::Brother's Bar & Grill-ChIJV5TTw67iEogRZF2mm1f6K-0
2::Jake's Roadhouse-ChIJ6SGX2a7iEogRB_d9evKamGQ
3::Qdoba Mexican Grill-ChIJofbRu67iEogRpPnhaYGiwl0
4::Juilliard-ChIJSUzXka7iEogRlPiKfmP5fc4
Added: Juilliard
Added: Juilliard
Added: Juilliard
Added: Juilliard
Added: Juilliard