Можешь объяснить различия между `queueMicrotask()` и `setTimeout(fn, 0)` с точки зрения времени выполнения и приоритета в event loop JavaScript? — ДейлиПреп