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 AI

AIден жооп

Бер берилген коддо эки убада зынжыр бар, ар бири Promise.resolve() менен башталат. Консольдогу чыгуу тартибин түшүнүү маанилүү.

Ар бир .then() азыркы чакыруу стекинен кийин ишке ашуучу микротаскалар кезегине иштетүүчү кошот.

Эки зынжыр да үзгүлтүксүз түзүлгөндүктөн, алардын иштетүүчүлөрү жарыяланган тартипте кезекке коюлат.

Ошондуктан, чыгуу төмөндөгүчө болот:

1
2
11
22

Түшүндүрүү:

  • Биринчи .then(() => console.log(1)) ишке ашып, 1 чыгарат.
  • Андан соң, кийинки .then(() => console.log(2)) ишке ашып, 2 чыгарат.
  • Андан соң, экинчи зынжырдан .then(() => console.log(11)) ишке ашып, 11 чыгарат.
  • Жана акырында, .then(() => console.log(22)) ишке ашып, 22 чыгарат.

Эгер чыгуу аралаш же башка тартипте болсун десек, убада түзүмүн өзгөртүшүбүз керек же setTimeout колдонушубуз керек болот.