Middle
// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //
sobes.tech yapay zeka
AI'dan gelen yanıt
Sağlanan kodda iki adet promise zinciri var, her biri Promise.resolve() ile başlar. Konsolda çıktı sırasını anlamak önemlidir.
Her .then() çağrısı, şu anki çağrı yığını sonrası çalışacak mikro görev kuyruğuna bir işleyici ekler.
İki zincir sıralı olarak oluşturulduğu için, işleyicileri tanımlandıkları sırayla kuyruğa eklenir.
Bu nedenle çıktı şu şekilde olur:
1
2
11
22
Açıklama:
- İlk olarak, ilk
.then(() => console.log(1))çalışır ve1yazdırır. - Sonra, bir sonraki
.then(() => console.log(2))çalışır ve2yazdırır. - Ardından, ikinci zincirin
.then(() => console.log(11))ifadesi çalışır ve11yazdırır. - En sonunda,
.then(() => console.log(22))çalışır ve22yazdırır.
Eğer çıktı karışık veya başka bir sırayla olmasını istiyorsak, promise yapısını değiştirmeli veya setTimeout kullanarak gecikmeli çağrılar yapmalıyız.