Node.js MYSQL to detect the INSERT/UPDATE completeness of a Query?

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!");
});

query is an asynchronous function. The function(err,rows,fields) is called only when the query is complete. It's a callback function and it is widely used in NodeJS environment due to its evented I/O. You register functions to events, when they are completed, they are called back.