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 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 ve 1 yazdırır.
  • Sonra, bir sonraki .then(() => console.log(2)) çalışır ve 2 yazdırır.
  • Ardından, ikinci zincirin .then(() => console.log(11)) ifadesi çalışır ve 11 yazdırır.
  • En sonunda, .then(() => console.log(22)) çalışır ve 22 yazdı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.