ఇవి ఒకే thread పై non-blocking పనిని వ్యక్తీకరించడానికి క్రమంగా మెరుగైన మార్గాలు, అన్నీ లోపల ready callbacks ను ఒక్కొక్కటిగా run చేసే event loop ద్వారా నడపబడతాయి. అవి code ఎప్పుడు తిరిగి ప్రారంభమవుతుందో నిర్వహిస్తాయి, multiple threads ను కాదు.
event loop
ఒక single-threaded loop ready callbacks యొక్క queue ను నిర్వహిస్తుంది. ఒక async operation (timer, I/O) పూర్తయినప్పుడు, దాని callback enqueue చేయబడుతుంది; loop తదుపరిదాన్ని ఎంచుకుని దాన్ని పూర్తయ్యే వరకు run చేస్తుంది, తర్వాత పునరావృతం అవుతుంది. run అవుతున్న callback ను ఏదీ preempt చేయదు, కాబట్టి సుదీర్ఘ CPU పని ప్రతిదాన్ని block చేస్తుంది.
