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

Atbilde no AI

Dotajā kodā ir divas solījumu ķēdes, katra sākas ar Promise.resolve(). Ir svarīgi saprast izvadīšanas kārtību konsolē.

Katrs .then() pievieno mikrouzdevumu rindu, kas tiek izpildīta pēc pašreizējās izsaukumu steka.

Tā kā abas ķēdes tiek izveidotas secīgi, to apstrādātāji tiks ievietoti rindā pēc to deklarēšanas secības.

Tādēļ iznākums būs:

1
2
11
22

Paskaidrojums:

  • Vispirms tiek izpildīts pirmais .then(() => console.log(1)), kas izvada 1.
  • Tad seko .then(() => console.log(2)), kas izvada 2.
  • Pēc tam tiek izpildīts .then(() => console.log(11)) no otras ķēdes, kas izvada 11.
  • Un beigās .then(() => console.log(22)), kas izvada 22.

Ja vēlamies, lai iznākums būtu sajaukts vai citā secībā, būtu jāmaina solījumu struktūra vai jāizmanto setTimeout aizkavētiem izsaukumiem.