Toto jsou postupně příjemnější způsoby, jak vyjádřit neblokující práci na jednom vlákně, všechny poháněné pod povrchem event loopem, který spouští připravené callbacky jeden po druhém. Řídí, kdy se kód obnoví, ne více vláken.
Event loop
Jednovláknová smyčka udržuje frontu připravených callbacků. Když asynchronní operace (timer, I/O) dokončí, její callback se zařadí do fronty; smyčka vybere další a spustí jej až do konce, pak opakuje. Nic nevytěsní běžící callback, takže dlouhá CPU práce blokuje vše.
[event loop] → spusť callback → I/O dokončeno → zařaď callback → spusť další → ...
