javascript / intermediate
Snippet
Priorisierung mit queueMicrotask
Die Methode queueMicrotask() ermöglicht es, eine Funktion in eine Warteschlange zu stellen, die nach Abschluss des aktuellen Tasks, aber vor dem Fortfahren des Event-Loops ausgeführt wird. Sie hat eine höhere Priorität als Macrotasks wie setTimeout.
snippet.js
1
2
3
4
console.log('Sync');setTimeout(() => console.log('Timeout'), 0);queueMicrotask(() => console.log('Microtask'));console.log('End');
Erklärung
1
setTimeout(() => ..., 0);
Plant einen Macrotask für die nächste Iteration des Event-Loops.
2
queueMicrotask(() => ...);
Plant einen Microtask, der sofort nach der aktuellen Skriptausführung läuft.
3
console.log('End');
Läuft synchron vor allen in der Warteschlange befindlichen Tasks.