从异步中调用我的模块自己的方法时出现以下错误。
ReferenceError: RetriveLongitude is not defined
at D:\Userfiles\oozen\Workspace\sas_1.0_server\sas_1.0\backgroundProcesses\searchTravelSolutions\PositionReferences.js:234:5
at D:\Userfiles\oozen\Workspace\sas_1.0_server\sas_1.0\node_modules\async\lib\async.js:570:21
at D:\Userfiles\oozen\Workspace\sas_1.0_server\sas_1.0\node_modules\async\lib\async.js:249:17
at D:\Userfiles\oozen\Workspace\sas_1.0_server\sas_1.0\node_modules\async\lib\async.js:125:13
at Array.forEach (native)
模块如下PositionReferences
:
var RetrieveCoordinates = function(tw, callback){
async.parallel([function(callback) {
RetrieveLatitude(tw, callback);
}, function(callback) {
RetriveLongitude(tw, callback);
}
], function(err, coordinates) {
if (err) {
console.log('err occuured in Lattitude / Longitude retrieval : ' + err);
return callback(err);
}
callback(null, coordinates);
});
}
function RetrieveLatitude(tw, callback) {
var latitude = JsonInfo.getLatitude(tw);
// check if the user has already specified a place (e.g. Eiffel tower) in tw
if (latitude != undefined) {
return callback(null, latitude);
}
// get latitude of the airport from the DB
db.collection('city').find({
"information.airports.code": place
}).toArray(function(err, position) {
if (err) return callback(err);
latitude = position['information']['city_coordinates']['latitude'];
console.log("[PositionReferences-RetrieveLatitude] found" + Lat);
return callback(null, latitude);
});
}
function RetrieveLongitude(tw, callback) {
var longitude = JsonInfo.getLongitude(tw);
// check if the user has already specified a place (e.g. Eiffel tower) in tw
if (longitude != undefined) {
return callback(null, longitude); }
db.collection('city').find({
"information.airports.code": place
}).toArray(function(err, position) {
if (err) return callback(err);
city = postion['name'];
longitude = position['information']['city_coordinates']['longitude'];
console.log("[PositionReferences-RetrieveLatitude] found" + longitude);
return callback(nulll, longitude);
});
}
//module.exports.RetrieveLatitude = RetrieveLatitude;
//module.exports.RetrieveLongitude = RetrieveLongitude;
module.exports.RetrieveCoordinates = RetrieveCoordinates;
除了声明 : module.exports.RetrieveLatitude
,
我也尝试过设置var that = this;
和调用 Lat/Long 方法。
为什么这些都不起作用?