Я изучаю node.js прямо сейчас, и у меня возникают проблемы с обращением.Node.js callbacks hell
Я посмотрел на Event Emitter, но это не похоже на меня.
Это то, что я звоню: «найдено»
exports.search = function(lat, lng, Arr, callback) {
//something
geocoder.reverse({
lat: lat,
lon: lng
}, function(err, res, callback) {
//finding the area
if (area !== "null") {
pool.getConnection(function(err, connection, callback) {
if (err) {
} else {
connection.query("SOME SQL CODE", function(err, rows, fields, callback) {
if (found what Im looking
for) {
connection.query("SOME SQL CODE", function(err, rows, fields, callback) { //looking for something else
if (err) {
callback(true);
} else {
if (rows[0] === undefined) {
callback(true);
} else {
console.log("found!");
callback(null, rows[0]);
}
}
});
} else if (err) {
}
});
}
});
} else {
}
});
};
я получаю мой в журнале консоли, но обратный вызов не работает по какой-либо причине.
Если я поместил обратный вызов в конце функции «поиск», он перезвонит, знаю ли я, что у меня нет проблемы с функцией, которая получает обратный вызов.
Спасибо!
Вы затирание своего 'callback' переменного на каждом уровне. – jmar777
Кроме того, 'area' не определен нигде. – jmar777
... и будет ли 'area' когда-либо фактически равным строке' "null" '? – jmar777