Skip to content

Chapter 1: event loop with different result #3

@ghost

Description

page number: 13
node: v14.17.3
macOs Big Sur: Version 11.6

const sleep_st = (t) => new Promise((r) => setTimeout(r, t)); 
const sleep_im = () => new Promise((r) => setImmediate(r));
    (async () => {
      setImmediate(() => console.log(1));
      console.log(2);
      await sleep_st(0);
      setImmediate(() => console.log(3));
      console.log(4);
      await sleep_im();
      setImmediate(() => console.log(5));
      console.log(6);
      await 1;
      setImmediate(() => console.log(7));
      console.log(8);
})();

log out:
2 4 1 3 6 8 5 7

setImmediate(() => console.log(1))
console.log(2)
Promise.resolve().then(() =>
	setTimeout(() => {
		setImmediate(() => console.log(3))
		console.log(4)
		Promise.resolve().then(() =>
			setImmediate(() => {
				setImmediate(() => console.log(5))
				console.log(6)
				Promise.resolve().then(() => {
					setImmediate(() => console.log(7))
					console.log(8)
				})
			})
		)
	}, 0)
)

log out:
2 1 4 3 6 8 5 7

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions