ЧÑо код вÑÐ²ÐµÐ´ÐµÑ Ð² конÑоли?
важноÑÑÑ: 5
console.log(1);
setTimeout(() => console.log(2));
Promise.resolve().then(() => console.log(3));
Promise.resolve().then(() => setTimeout(() => console.log(4)));
Promise.resolve().then(() => console.log(5));
setTimeout(() => console.log(6));
console.log(7);
ÐÑвод в конÑоли: 1 7 3 5 2 6 4.
ÐадаÑа доволÑно пÑоÑÑаÑ, нÑжно лиÑÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑ, как ÑабоÑаÑÑ Ð¾ÑеÑеди микÑÐ¾Ð·Ð°Ð´Ð°Ñ Ð¸ макÑозадаÑ.
ÐавайÑе ÑазбеÑем, ÑÑо здеÑÑ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸Ñ, по Ñагам.
console.log(1);
// ÐеÑÐ²Ð°Ñ ÑÑÑока вÑполнÑеÑÑÑ ÑÑÐ°Ð·Ñ Ð¸ вÑÐ²Ð¾Ð´Ð¸Ñ `1`.
// ÐÑеÑеди микÑÐ¾Ð·Ð°Ð´Ð°Ñ Ð¸ макÑÐ¾Ð·Ð°Ð´Ð°Ñ Ð½Ð° даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿ÑÑÑÑ.
setTimeout(() => console.log(2));
// `setTimeout` ÑÑÐ°Ð²Ð¸Ñ Ð¿ÐµÑеданнÑй колбÑк в оÑеÑÐµÐ´Ñ Ð¼Ð°ÐºÑозадаÑ
// - ÑодеÑжимое оÑеÑеди макÑозадаÑ:
// `console.log(2)`
Promise.resolve().then(() => console.log(3));
// РоÑеÑÐµÐ´Ñ Ð¼Ð¸ÐºÑÐ¾Ð·Ð°Ð´Ð°Ñ ÑÑавиÑÑÑ ÐºÐ¾Ð»Ð±Ñк, вÑводÑÑий `3`
// - ÑодеÑжимое оÑеÑеди микÑозадаÑ:
// `console.log(3)`
Promise.resolve().then(() => setTimeout(() => console.log(4)));
// РоÑеÑÐµÐ´Ñ Ð¼Ð¸ÐºÑÐ¾Ð·Ð°Ð´Ð°Ñ ÑÑавиÑÑÑ ÐºÐ¾Ð»Ð±Ñк Ñ `setTimeout`
// - ÑодеÑжимое оÑеÑеди микÑозадаÑ:
// `console.log(3); setTimeout(...4)`
Promise.resolve().then(() => console.log(5));
// РоÑеÑÐµÐ´Ñ Ð¼Ð¸ÐºÑÐ¾Ð·Ð°Ð´Ð°Ñ ÑÑавиÑÑÑ ÐºÐ¾Ð»Ð±Ñк, вÑводÑÑий `5`
// - ÑодеÑжимое оÑеÑеди микÑозадаÑ:
// `console.log(3); setTimeout(...4); console.log(5)`
setTimeout(() => console.log(6));
// `setTimeout` ÑÑÐ°Ð²Ð¸Ñ Ð¿ÐµÑеданнÑй колбÑк в оÑеÑÐµÐ´Ñ Ð¼Ð°ÐºÑозадаÑ
// - ÑодеÑжимое оÑеÑеди макÑозадаÑ:
// `console.log(2); console.log(6)`
console.log(7);
// ТÑÑ Ð¶Ðµ вÑÐ²Ð¾Ð´Ð¸Ñ `7`.
ÐÑак, полÑÑаеÑÑÑ, ÑÑо:
- ЧиÑла
1и7вÑводÑÑÑÑ ÑÑÐ°Ð·Ñ Ð¶Ðµ, Ñак как они не иÑполÑзÑÑÑ Ð¾ÑеÑеди Ð·Ð°Ð´Ð°Ñ Ð²Ð¾Ð¾Ð±Ñе. - Ðалее поÑле оконÑÐ°Ð½Ð¸Ñ Ð¾Ñновного поÑока кода ÑÑабаÑÑÐ²Ð°ÐµÑ Ð¾ÑеÑÐµÐ´Ñ Ð¼Ð¸ÐºÑозадаÑ.
- ÐÑ ÑодеÑжимое:
console.log(3); setTimeout(...4); console.log(5). - ÐÑведеÑÑÑ
3и5, аsetTimeout(() => console.log(4))поÑÑÐ°Ð²Ð¸Ñ Ð² ÐºÐ¾Ð½ÐµÑ Ð¾ÑеÑеди макÑÐ¾Ð·Ð°Ð´Ð°Ñ Ð²Ñвод4. - РоÑеÑеди макÑÐ¾Ð·Ð°Ð´Ð°Ñ Ð¿Ð¾Ð»ÑÑаеÑÑÑ ÑепеÑÑ:
console.log(2); console.log(6); console.log(4).
- ÐÑ ÑодеÑжимое:
- ÐÑеÑÐµÐ´Ñ Ð¼Ð¸ÐºÑÐ¾Ð·Ð°Ð´Ð°Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð²Ñполнена, ÑÑабаÑÑÐ²Ð°ÐµÑ Ð¾ÑеÑÐµÐ´Ñ Ð¼Ð°ÐºÑозадаÑ. Ðна вÑведеÑ
2,6,4.
ÐолÑÑаеÑÑÑ Ð²Ñвод 1 7 3 5 2 6 4.