Подскажите, как будет вести себя event loop. Есть такой псевдокод
const ws = new WebSocket('ws://host:port');
ws.onmessage = function (data) {
console.log('websocket message');
}
function foo(cb) {
setTimeout(cb);
}
foo(function () {
setTimeout(function () {
console.log('foo');
});
});
Предположим ситуацию, что функция foo начала свою работу, но до вызова первого setTimeout внутри функции foo по вебсокету приходит новое сообщение.
Какой будет результат вывода на экран?
console.log('foo');
console.log('websocket message');
//или
console.log('websocket message');
console.log('foo');