Sobes.tech
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. Συγχρονικός κώδικας: 1, 4
  2. Micro tasks: 3
  3. Macro tasks: 2