I'm using Javascript MySQL Library from Node.js. It is great but i can't detect the completeness (or) end of the INSERT/UPDATE query process. How do i detect it?
For example:
function start_query() {
conn.query(
'INSERT .....',
function(err, rows, fields) {
if (err) {
console.log("Err!");
} else {
console.log("INSERTED!");
}
}
);
}
start_query();
console.log("QUERY DONE!");
When i run this, it returns:
QUERY DONE!
INSERTED!
The process is returning REVERSELY and I'm not detecting the END POINT of the query.
How can i make it work?
解决方案
Node.js does everything that is not CPU-bound - such as file operations, network/database access - asynchronously which is necessary to keep it as fast as it is.
So you need to do anything that should happen after the query has finished in the callback function:
function start_query(callback) {
conn.query('INSERT .....', function(err, rows, fields) {
if(err) {
console.log("Err!");
} else {
console.log("INSERTED!");
}
callback();
});
}
start_query(function() {
console.log("QUERY DONE!");
});