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.