Middle
console.log('1'); setTimeout(() => console.log('2'), 0); Promise.resolve().then(() => console.log('3')); console.log('4');
sobes.tech AI
Απάντηση από AI
Η έξοδος θα είναι:
1
4
3
2
Εξήγηση:
console.log('1')— συγχρονική κλήση, εμφανίζει1.setTimeout(..., 0)— τοποθετεί τη λειτουργία στην ουρά των macro tasks, που θα εκτελεστεί μετά το τρέχον stack και τις micro tasks.Promise.resolve().then(...)— τοποθετεί τη λειτουργία στην ουρά των micro tasks, που εκτελούνται αμέσως μετά το τρέχον stack, αλλά πριν από τα macro tasks.console.log('4')— συγχρονική κλήση, εμφανίζει4.
Η σειρά εκτέλεσης:
- Συγχρονικός κώδικας:
1,4 - Micro tasks:
3 - Macro tasks:
2