Так еще довольно новый для nodejs образа мышления и есть вопрос о том, как лучше это сделатьsequencial запросов с использованием nodejs и SqlLite
вот фрагмент кода, который работает там, где я получаю два идентификаторы из SqliteDB и затем отправьте их клиенту.
client.on('join', function(data) {
var last_new_id=0;
var last_old_id=0;
var db = new sqlite3.Database(file);
db.serialize(function() {
db.each("SELECT last_new_id, last_old_id FROM image_status ", function(err, row) {
if (err){
console.log("**** ERROR IN SELECT ****");
console.log(err);
}else{
last_new_id = row.last_new_id;
last_old_id = row.last_old_id;
}
}, function() {
client.emit('joined', {last_new_id: last_new_id, last_old_id: last_old_id});
});
});
});
db.close();
Если таблица image_status пуст он идет прямо на client.emit
Что я хочу сделать, это если last_new_id или last_old_id равен нулю, я хочу сделать еще один запрос
Я думал, что попробую что-нибудь вроде
}, function() {
if (last_new_id == 0) {
//query the db with
//SELECT image_id FROM image ORDER BY image_id DESC LIMIT 1
last_new_id = getLastID();
}
client.emit('joined', {last_new_id: last_new_id, last_old_id: last_old_id});
});
но что происходит, это t он client.emit вызывается до возвращения getLastID.
Я не уверен, как вызвать getLastID() синхронно или есть лучший способ сделать это?
Благодаря