1
從async中調用我的模塊自己的方法時出現以下錯誤。nodejs異步myMethod未定義
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;
,並呼籲它的緯度/經度的方法。
爲什麼沒有這項工作?
該錯誤與節點 - 異步...等無關。它只是一個錯字。 – 2015-02-10 10:41:07