Sobes.tech
Middle

console.log('1'); setTimeout(() => console.log('2'), 0); Promise.resolve().then(() => console.log('3')); console.log('4');

sobes.tech Süni İntellekt

AI-dan cavab

Çıxış belə olacaq:

1
4
3
2

İzah:

  • console.log('1') — sinxron çağırış, 1 çıxarır.
  • setTimeout(..., 0) — funksiyanı makro tapşırıq növbəsinə qoyur, hazırkı yığın və mikro tapşırıqlar tamamlandıqdan sonra icra olunacaq.
  • Promise.resolve().then(...) — funksiyanı mikro tapşırıq növbəsinə qoyur, onlar hazırkı yığından dərhal sonra, amma makro tapşırıqlardan əvvəl icra olunur.
  • console.log('4') — sinxron çağırış, 4 çıxarır.

İcranın sırası:

  1. Sinxron kod: 1, 4
  2. Mikro tapşırıqlar: 3
  3. Makro tapşırıqlar: 2