queueMicrotask или Promise и async await

не давно встретил метод queueMicrotask и как я понял это аналог Promise и async await или я не так понял и можно ли его спокойно использовать


Ответы (1 шт):

Автор решения: Grundy

queueMicrotask не является "аналогом" Promise или, тем более async/await.

Зависимость тут обратная: Promise планируют свои коллбэки с помощью queueMicrotask

То есть queueMicrotask – это аналог setTimeout. Разница заключается в том, что setTimeout добавляет в очередь таск, в том время как queueMicrotask добавляет микротаск.

Подробнее про таски и микротаски можно смотреть в справке

let callback = () => console.log("Regular timeout callback has run");

let urgentCallback = () => console.log("*** Oh noes! An urgent callback has run!");

console.log("Main program started");
setTimeout(callback, 0);
queueMicrotask(urgentCallback);
console.log("Main program exiting");

Судя по таблице совместимости данная функция реализована во всех современных браузерах, кроме IE

→ Ссылка