Skip to content

Instantly share code, notes, and snippets.

@DavidVujic
Last active December 26, 2019 11:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DavidVujic/e0374fa76c49d26cfbed9fffac0314d3 to your computer and use it in GitHub Desktop.
Save DavidVujic/e0374fa76c49d26cfbed9fffac0314d3 to your computer and use it in GitHub Desktop.
Node.js 12 blocking the event loop
function log(...args) {
console.log(Date.now().toString(), ...args);
}
function processData() {
log('processing ...');
for (let i = 0; i < 1000000; i += 1) {
JSON.parse('{"hello": "world"}');
}
return Promise.resolve();
}
async function main() {
setTimeout(() => log('first timeout: done!'));
setTimeout(() => {
processData()
.then(processData)
.then(processData)
.then(processData);
});
setTimeout(() => log('second timeout: done!'));
}
main()
.catch((err) => log(err.message));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment