Я не знаю, что происходит с моим кодом. У меня есть Node.js, который запрашивает MySQL db в маршруте и отображает результат для пользователя. Моя проблема заключается в том, как выполнять запросы и блокировать до тех пор, пока запросы не будут выполнены до перенаправления пользователя на запрашиваемую страницу? если добавить предупреждение перед вызовом, функция работает нормально и быстро response..but если предупреждение отключить функцию наклоняет вернуть любое значение, функцию, как замораживание ..Узел js: должен использоваться предупреждение для вызова функции?
этого код пользователя, чтобы запросить значение nodejs
function fred(){ //request function from here to fblue
alert('fred called'); //if i disable alert,the function not return any value
get('id', function(datmovMar) {
var obj = JSON.parse(datmovMar);
var items = Object.keys(obj);
var output='';
items.forEach(function(item) {
output+=obj[item].something+'<br/>';
alert(output);
});
});
}
function get(id, callback) {
$.ajax('http://localhost:8000/' + id + '/', {
type: 'GET',
dataType: 'json',
success: function(data) { if (callback) callback(data); },
error : function() { if (callback) callback(null); }
});
}
и этот код найти в узел JS
fblue(function(datmovMar){ //call function from here
res.write(JSON.stringify(datmovMar));
res.end('\n');
});
function fblue(callback){
var query = connection.query('SELECT something from table'),
pinMarker = [];
query
.on('error', function(err) {
console.log(err);
updateSockets(err);
})
.on('result', function(user) {
pinMarker.push(user);
})
.on('end',function(){
if(connectionsArray.length) {
jsonStringx = JSON.stringify(pinMarker);
callback(jsonStringx);
}
});
}
я не знаю, почему, если предупреждение отключить функцию косяк работать нормально?
пожалуйста, помогите ...
благодарит
спасибо .. работает, но когда-нибудь я снова получаю такую же проблему ... может быть, любое другое решение? – ltvie
'var obj = JSON.parse (datmovMar);' вам не нужно анализировать результат, потому что вы указали 'dataType: 'json''. Что вы до сих пор следовали совету KARASZI? –