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