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ı:
- Sinxron kod:
1,4 - Mikro tapşırıqlar:
3 - Makro tapşırıqlar:
2