I am new to Javascript, In the following code
async function fun(callback) {
callback();
}
console.log('1');
fun(function(){
console.log('2');
});
console.log('3');
The order of execution seems to be 1,2,3. But callback of an asynchronous function is put in the message queue and executed only after call stack is empty, so shouldn't the order be 1 3 2 ?