Sobes.tech
Middle

// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //

sobes.tech Süni İntellekt

AI-dan cavab

Təqdim olunan kodda iki vəd zənciri var, hər biri Promise.resolve() ilə başlayır. Konsolda çıxış ardıcıllığını başa düşmək vacibdir.

Hər .then() hazırkı çağrı yığınından sonra işləyəcək mikro tapşırıq növbəsinə bir idarəçi əlavə edir.

Hər iki zəncir ardıcıl yaradıldığı üçün, onların idarəçiləri elan olunduqları ardıcıllıqla növbəyə qoyulacaq.

Nəticədə, çıxış aşağıdakı kimi olacaq:

1
2
11
22

İzah:

  • Əvvəlcə, ilk .then(() => console.log(1)) icra olunur və 1 çap edir.
  • Sonra, növbəti .then(() => console.log(2)) icra olunur və 2 çap edir.
  • Daha sonra, ikinci zəncidən .then(() => console.log(11)) icra olunur və 11 çap edir.
  • Və sonunda, .then(() => console.log(22)) icra olunur və 22 çap edir.

Əgər çıxışın qarışıq və ya başqa bir ardıcıllıqda olmasını istəyiriksə, vədlərin quruluşunu dəyişdirməli və ya gecikdirilmiş çağırışlar üçün setTimeout istifadə etməliyik.