Middle
// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //
sobes.tech AI
AIdan javob
Berilgan kodda ikkita va'da zanjiri mavjud, har biri Promise.resolve() bilan boshlanadi. Konsolda chiqarilish tartibini tushunish muhim.
Har bir .then() hozirgi chaqirishlar stackidan keyin bajariladigan mikro vazifalar navbatiga handler qo'shadi.
Ikki zanjir ketma-ket yaratilgani uchun, ularning handlerlari e'lon qilingan tartibda navbatga qo'yiladi.
Shuning uchun chiqish quyidagicha bo'ladi:
1
2
11
22
Tushuntirish:
- Avvalo, birinchi
.then(() => console.log(1))bajariladi va1chiqaradi. - Keyin, keyingi
.then(() => console.log(2))bajariladi va2chiqaradi. - So'ng, ikkinchi zanjirdan
.then(() => console.log(11))bajariladi va11chiqaradi. - Va oxirida,
.then(() => console.log(22))bajariladi va22chiqaradi.
Agar chiqarish aralash yoki boshqa tartibda bo'lishini istasangiz, va'dalar tuzilishini o'zgartirish yoki kechiktirilgan chaqiriqlar uchun setTimeout ishlatish kerak bo'ladi.