{"id":3666,"date":"2023-03-31T14:25:00","date_gmt":"2023-03-31T07:25:00","guid":{"rendered":"https:\/\/laoitdev.com\/?p=3666"},"modified":"2024-02-07T20:56:52","modified_gmt":"2024-02-07T13:56:52","slug":"javascript-ep1-event-loop%e2%99%bb%ef%b8%8f","status":"publish","type":"post","link":"https:\/\/laoitdev.com\/lao\/2023\/3666\/","title":{"rendered":"JavaScript EP1: Event Loop\u267b\ufe0f"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p id=\"f361\">\u0eab\u0ec8\u0eb2\u0e87\u0eab\u0eb2\u0e8d\u0ec4\u0e9b\u0e94\u0ebb\u0e99\u0eaa\u0ebb\u0ea1\u0e84\u0ea7\u0e99, \u0e94\u0ebd\u0ea7\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0e88\u0eb0\u0e82\u0ebd\u0e99\u0ec0\u0ea5\u0eb7\u0ec8\u0ead\u0e87\u0ec0\u0e9a\u0eb7\u0ec9\u0ead\u0e87\u0ec0\u0ea5\u0eb4\u0e81\u0ec0\u0e9a\u0eb7\u0ec9\u0ead\u0e87\u0eab\u0ebc\u0eb1\u0e87\u0e82\u0ead\u0e87\u0e9e\u0eb2\u0eaa\u0eb2 JavaScript \u0ec3\u0eab\u0ec9\u0ead\u0ec8\u0eb2\u0e99\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb7\u0ec9\u0e99\u0e96\u0eb2\u0e99\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0e99\u0eb3\u0ec3\u0e8a\u0ec9\u0e9e\u0eb2\u0eaa\u0eb2 JavaScript \u0ec3\u0eab\u0ec9\u0ea1\u0eb5\u0e9b\u0eb0\u0eaa\u0eb4\u0e94\u0e97\u0eb4\u0e9e\u0eb2\u0e9a(\u0eab\u0ebc\u0eb7\u0e9a\u0ecd\u0ec8?).<\/p>\n<h3 class=\"wp-block-heading\" id=\"ccce\">Hey JS \u267b\ufe0f!<\/h3>\n<p id=\"ceff\">JS \u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0e97\u0eb5\u0ec8\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0ec1\u0e9a\u0e9a **single-threaded** \u0ec1\u0ea5\u0eb0 **non-blocking** \u0edd\u0eb2\u0e8d\u0e84\u0ea7\u0eb2\u0ea1\u0ea7\u0ec8\u0eb2\u0ea1\u0eb1\u0e99\u0e88\u0eb0\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0e9e\u0ebd\u0e87\u0ec1\u0e95\u0ec8 1 task \u0e95\u0ecd\u0ec8\u0e84\u0eb1\u0ec9\u0e87, \u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0e84\u0eb7\u0ea7\u0ec8\u0eb2\u0ea1\u0eb1\u0e99\u0e81\u0ecd\u0ec8\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5\u0e9a\u0eb1\u0e99\u0eab\u0eb2\u0eab\u0e8d\u0eb1\u0e87 \u0ec1\u0e95\u0ec8\u0ea5\u0ead\u0e87\u0e84\u0eb4\u0e94\u0e9e\u0eb2\u0e9a\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0ec8\u0eb2\u0ec0\u0eae\u0ebb\u0eb2\u0ea1\u0eb5 task \u0e97\u0eb5\u0ec8\u0e95\u0ec9\u0ead\u0e87 process \u0ec2\u0e94\u0e8d\u0ec3\u0e8a\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2\u0e97\u0eb1\u0e87\u0edd\u0ebb\u0e94 30 \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5. \u0ec3\u0e99\u0e82\u0eb0\u0e99\u0eb0\u0e97\u0eb5\u0ec8 task \u0e8d\u0eb1\u0e87\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0e9a\u0ecd\u0ec8\u0ec1\u0ea5\u0ec9\u0ea7\u0ec0\u0e97\u0eb7\u0ec8\u0ead, \u0ec1\u0e95\u0ec8\u0ec0\u0eae\u0ebb\u0eb2\u0e95\u0ec9\u0ead\u0e87\u0ea1\u0eb2\u0e99\u0eb1\u0ec8\u0e87\u0e96\u0ec9\u0eb2 30 \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5\u0e81\u0ec8\u0ead\u0e99\u0e97\u0eb5\u0ec8\u0e88\u0eb0\u0ec0\u0e81\u0eb5\u0e94\u0ec0\u0eab\u0e94\u0e81\u0eb2\u0e99\u0ead\u0eb7\u0ec8\u0e99\u0ec6\u0e95\u0ecd\u0ec8 (JS \u0e88\u0eb0 run \u0ea2\u0eb9\u0ec8\u0ec0\u0e97\u0eb4\u0e87 main thread \u0e82\u0ead\u0e87 browser by default \u0ea2\u0eb9\u0ec8\u0ec1\u0ea5\u0ec9\u0ea7, \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0e99 UI \u0e97\u0eb8\u0e81\u0ea2\u0ec8\u0eb2\u0e87\u0e88\u0eb0\u0e8d\u0eb1\u0e87\u0e84\u0ec9\u0eb2\u0e87\u0ea2\u0eb9\u0ec8\u0ec1\u0e9a\u0e9a\u0e99\u0eb1\u0ec9\u0e99)\ud83d\ude16 \u0ec1\u0ea5\u0ec9\u0ea7\u0ec3\u0e9c\u0e8a\u0eb4\u0ea1\u0eb2\u0e99\u0eb1\u0ec8\u0e87\u0e96\u0ec9\u0eb2\u0ec0\u0ea7\u0eb1\u0e9a\u0e8a\u0ec9\u0eb2\u0ec6\u0ec1\u0e9a\u0e9a\u0e99\u0eb1\u0ec9\u0e99\u0ea5\u0ec8\u0eb0? \u0e99\u0eb5\u0ec9\u0ea1\u0eb1\u0e99 2023 \u0ec1\u0ea5\u0ec9\u0ea7\u0ec3\u0e94\ud83e\udd23\ud83e\udd23\ud83e\udd23<\/p>\n<p id=\"a2bc\">\u0ec2\u0e8a\u0e81\u0e94\u0eb5\u0ec1\u0e99\u0ec8\u0e97\u0eb5\u0ec8 browser \u0ea1\u0eb5\u0e9a\u0eb2\u0e87 features \u0e97\u0eb5\u0ec8 JavaScript engine \u0e9a\u0ecd\u0ec8\u0ea1\u0eb5\u0ea1\u0eb2\u0ec3\u0eab\u0ec9\u0ec0\u0e8a\u0eb1\u0ec8\u0e99: Web API \u2014 \u0ec3\u0e99\u0e99\u0eb5\u0ec9\u0e9b\u0eb0\u0e81\u0ead\u0e9a\u0ea1\u0eb5 DOM API, setTimeout, HTTP requests \u0ec0\u0e9b\u0eb1\u0e99\u0e95\u0ebb\u0ec9\u0e99, \u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0ea1\u0eb1\u0e99\u0ec0\u0eae\u0eb1\u0e94\u0ec3\u0eab\u0ec9\u0ec0\u0eae\u0ebb\u0eb2\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e82\u0ebd\u0e99\u0ec1\u0e9a\u0e9a async, non-blocking \u0ec4\u0e94\u0ec9.<\/p>\n<p id=\"3597\">\u0ec0\u0ea1\u0eb7\u0ec8\u0ead\u0ec0\u0eae\u0ebb\u0eb2\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9 function \u0ec3\u0e94\u0ec6\u0e81\u0ecd\u0ec8\u0e95\u0eb2\u0ea1, \u0eaa\u0eb4\u0ec8\u0e87\u0e97\u0eb3\u0ead\u0eb4\u0e94\u0e97\u0eb5\u0ec8\u0ea1\u0eb1\u0e99\u0ec0\u0eae\u0eb1\u0e94\u0e81\u0ecd\u0ec8\u0e84\u0eb7\u0ea1\u0eb1\u0e99\u0e88\u0eb0 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 `call stack`. `call stack` \u0ec0\u0e9b\u0eb1\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0edc\u0eb6\u0ec8\u0e87\u0e82\u0ead\u0e87 JS engine \u0ec1\u0ea5\u0eb0 \u0ea1\u0eb1\u0e99\u0e9a\u0ecd\u0ec8\u0ec4\u0e94\u0ec9\u0ec0\u0e9b\u0eb1\u0e99\u0eaa\u0eb4\u0ec8\u0e87\u0e97\u0eb5\u0ec8\u0ea1\u0eb5\u0eaa\u0eb0\u0ec0\u0e9e\u0eb2\u0eb0 browser \u2014 \u0edd\u0eb2\u0e8d\u0e84\u0ea7\u0eb2\u0ea1\u0ea7\u0ec8\u0eb2\u0ea1\u0eb1\u0e99\u0ec0\u0e9b\u0eb1\u0e99 stack \u0ea5\u0eb1\u0e81\u0eaa\u0eb0\u0e99\u0eb0\u0e81\u0eb2\u0e99\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0e82\u0ead\u0e87\u0ea1\u0eb1\u0e99\u0e81\u0ecd\u0ec8\u0e88\u0eb0\u0ec0\u0e9b\u0eb1\u0e99\u0ec1\u0e9a\u0e9a first in, last out (\u0e84\u0eb4\u0e94\u0e9e\u0eb2\u0e9a\u0e88\u0eb2\u0e99\u0ec3\u0eaa\u0ec8\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0e97\u0eb5\u0ec8\u0e81\u0ead\u0e87\u0e81\u0eb1\u0e99\u0ec0\u0e9b\u0eb1\u0e99\u0e8a\u0eb1\u0ec9\u0e99\u0ec6 \u0ec0\u0ea1\u0eb7\u0ec8\u0ead\u0ec0\u0eae\u0ebb\u0eb2\u0e88\u0eb0\u0ec3\u0e8a\u0ec9\u0e88\u0eb2\u0e99\u0ec0\u0eab\u0ebc\u0ebb\u0ec8\u0eb2\u0e99\u0eb1\u0ec9\u0e99\u0ec1\u0ea1\u0ec8\u0e99\u0ec0\u0eae\u0ebb\u0eb2\u0e88\u0eb0\u0e97\u0eb3\u0e81\u0eb2\u0e99\u0ea2\u0eb4\u0e9a\u0ec0\u0ead\u0ebb\u0eb2\u0e88\u0eb2\u0e81\u0ead\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0ea2\u0eb9\u0ec8\u0ec0\u0e97\u0eb4\u0e87\u0eaa\u0eb8\u0e94\u0e81\u0ec8\u0ead\u0e99)\ud83e\udd5e \u0ec1\u0ea5\u0eb0 \u0ec0\u0ea1\u0eb7\u0ec8\u0ead function \u0e97\u0eb5\u0ec8\u0ec0\u0eae\u0ebb\u0eb2\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9\u0e97\u0eb3\u0e81\u0eb2\u0e99 return value \u0eab\u0ebc\u0eb7 \u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0eaa\u0eb3\u0ec0\u0ea5\u0eb1\u0e94\u0ec1\u0ea5\u0ec9\u0ea7 \u0ea1\u0eb1\u0e99\u0e88\u0eb0\u0e96\u0eb7\u0e81 popped \u0ead\u0ead\u0e81\u0ec4\u0e9b\u0e88\u0eb2\u0e81 stack.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"405\" class=\"wp-image-3668\" src=\"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-02.gif\" alt=\"\" \/><\/figure>\n<\/div>\n<ul class=\"wp-block-list\">\n<li>function \u0e97\u0eb5\u0ec8\u0e96\u0eb7\u0e81\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9\u0e88\u0eb0\u0e96\u0eb7\u0e81 pushed \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 `call stack`.<\/li>\n<li>\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0e9a\u0eb2\u0e87\u0ea2\u0ec8\u0eb2\u0e87\u0e9e\u0eb2\u0e8d\u0ec3\u0e99 function \u0ec1\u0ea5\u0ec9\u0ea7 return value.<\/li>\n<li>\u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0eaa\u0eb3\u0ec0\u0ea5\u0eb1\u0e94 function \u0e99\u0eb1\u0ec9\u0e99\u0e88\u0eb0\u0e96\u0eb7\u0e81 popped \u0ead\u0ead\u0e81\u0ec4\u0e9b\u0e88\u0eb2\u0e81 stack.<\/li>\n<\/ul>\n<p id=\"3ec9\">\u0e88\u0eb2\u0e81\u0e95\u0ebb\u0ea7\u0ea2\u0ec8\u0eb2\u0e87\u0ec0\u0eab\u0eb1\u0e99\u0ea7\u0ec8\u0eb2 `respond` function \u0ea1\u0eb5\u0e81\u0eb2\u0e99 return `setTimeout` function. \u0ec0\u0e8a\u0eb4\u0ec8\u0e87 `setTimeout` \u0ec1\u0ea1\u0ec8\u0e99\u0ec4\u0e94\u0ec9\u0ea1\u0eb2\u0e88\u0eb2\u0e81 Web API \u2014 \u0ec3\u0e8a\u0ec9\u0ec3\u0e99\u0e81\u0eb2\u0e99 delay task \u0ec2\u0e94\u0e8d\u0e97\u0eb5\u0ec8\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5\u0e81\u0eb2\u0e99 block main thread. callback function \u0e97\u0eb5\u0ec8\u0ec0\u0eae\u0ebb\u0eb2 passed \u0ec4\u0e9b\u0e8d\u0eb1\u0e87 `setTimeout` function, \u0e88\u0eb0\u0ea2\u0eb9\u0ec8\u0ec3\u0e99\u0eae\u0eb9\u0e9a\u0ec1\u0e9a\u0e9a arrow function `() =&gt; { return \u2018Hey\u2019}` \u0e88\u0eb0\u0e96\u0eb7\u0e81 added \u0ec4\u0e9b\u0e8d\u0eb1\u0e87 Web API. \u0ec3\u0e99\u0e82\u0eb0\u0e99\u0eb0\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e99 `setTimeout` function \u0ec1\u0ea5\u0eb0 respond function \u0e88\u0eb0\u0e96\u0eb7\u0e81 popped \u0ead\u0ead\u0e81\u0e88\u0eb2\u0e81 stack \u0ec1\u0ea5\u0eb0 \u0e97\u0eb1\u0e87 2\u200b function \u0e88\u0eb0 return value \u0e82\u0ead\u0e87\u0e95\u0ebb\u0ea7\u0ec0\u0ead\u0e87.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"405\" class=\"wp-image-3669\" src=\"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-03.gif\" alt=\"\" \/><\/figure>\n<\/div>\n<p>\u0ec3\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e82\u0ead\u0e87 Web API \u0e88\u0eb0\u0ea1\u0eb5\u0e95\u0ebb\u0ea7\u0e88\u0eb1\u0e9a\u0ec0\u0ea7\u0ea5\u0eb2 (timer) \u0e88\u0eb0\u0ea3\u0eb1\u0e99\u0ec4\u0e9b\u0ec0\u0ea5\u0eb7\u0ec9\u0ead\u0e8d\u0ec6\u0e88\u0ebb\u0e99\u0e81\u0ea7\u0ec8\u0eb2\u0e88\u0eb0\u0e84\u0ebb\u0e9a 1000ms \u0ec1\u0ea5\u0ec9\u0ea7\u0e88\u0eb6\u0ec8\u0e87\u0e88\u0eb0\u0ec0\u0eae\u0eb1\u0e94\u0eaa\u0ec8\u0ea7\u0e99\u0e82\u0ead\u0e87 argument \u0e97\u0eb5 2 \u0e97\u0eb5\u0ec8\u0ec0\u0eae\u0ebb\u0eb2 passed \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b. <code>callback function<\/code> \u0e88\u0eb0\u0e8d\u0eb1\u0e87\u0e9a\u0ecd\u0ec8\u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 <code>call stack<\/code> \u0ec0\u0e97\u0eb7\u0ec8\u0ead, \u0ec1\u0e95\u0ec8\u0e88\u0eb0 passed \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 <code>queue<\/code> \u0ec1\u0e97\u0e99.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"405\" class=\"wp-image-3670\" src=\"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-04.gif\" alt=\"\" \/><\/figure>\n<\/div>\n<p id=\"0945\">\u0ec3\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e99\u0eb5\u0ec9\u0ead\u0eb2\u0e94\u0e88\u0eb0\u0eaa\u0eb1\u0e9a\u0eaa\u0ebb\u0e99\u0edc\u0ec9\u0ead\u0e8d\u0edc\u0eb6\u0ec8\u0e87, \u0e88\u0eb2\u0e81\u0e95\u0ebb\u0ea7\u0ea2\u0ec8\u0eb2\u0e87\u0edd\u0eb2\u0e8d\u0e84\u0ea7\u0eb2\u0ea1\u0ea7\u0ec8\u0eb2: \u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e97\u0eb5\u0ec8 timer \u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0ec4\u0e9b\u0e88\u0ebb\u0e99\u0e84\u0ebb\u0e9a 1000ms `callback function` \u0e82\u0ead\u0e87\u0ec0\u0eae\u0ebb\u0eb2\u0e88\u0eb0\u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 `queue` \u0e81\u0ec8\u0ead\u0e99\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ea5\u0ecd\u0e96\u0ec9\u0eb2\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0e97\u0eb5\u0ec8\u0e88\u0eb0\u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 `call stack` \u0ead\u0eb5\u0e81\u0ec0\u0e97\u0eb7\u0ec8\u0ead\u0edc\u0eb6\u0ec8\u0e87 \ud83d\ude35\u200d\ud83d\udcab.<\/p>\n<p id=\"5ec1\">\u0ec1\u0ea5\u0eb0\u0e9e\u0eb0\u0ec0\u0ead\u0e81\u0e82\u0ead\u0e87\u0ec0\u0eae\u0ebb\u0eb2\u0ec3\u0e99 ep \u0e99\u0eb5\u0ec9\u0e81\u0ecd\u0ec8\u0e84\u0eb7: `event loop` \u0e99\u0eb5\u0ec9\u0ec0\u0ead\u0e87 \ud83d\ude0e \u2014 \u0ead\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0e88\u0eb4\u0e87 `event loop` \u0ea1\u0eb5\u0edc\u0ec9\u0eb2\u0e97\u0eb5\u0e9e\u0ebd\u0e87\u0ec1\u0e95\u0ec8 connecting `queue` \u0e81\u0eb1\u0e9a `call stack` \u0e96\u0ec9\u0eb2 `call stack` \u0ea7\u0ec8\u0eb2\u0e87\u0ea2\u0eb9\u0ec8 (empty) \u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0e99\u0eb1\u0ec9\u0e99\ud83e\udd23\ud83e\udd23\ud83e\udd23. \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0e99 \u0e96\u0ec9\u0eb2\u0eab\u0eb2\u0e81\u0e97\u0eb8\u0e81\u0ec6 function \u0e97\u0eb5\u0ec8\u0e96\u0eb7\u0e81\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9 (invoked) \u0ec4\u0e94\u0ec9 return value \u0e82\u0ead\u0e87\u0e95\u0ebb\u0ea7\u0ec0\u0ead\u0e87 \u0ec1\u0ea5\u0eb0 \u0e96\u0eb7\u0e81 popped \u0ead\u0ead\u0e81\u0e88\u0eb2\u0e81 `call stack` \u0ec1\u0ea5\u0ec9\u0ea7, item \u0e97\u0eb3\u0ead\u0eb4\u0e94\u0e97\u0eb5\u0ec8\u0ea2\u0eb9\u0ec8\u0ec3\u0e99 `queue` \u0e88\u0eb0\u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ea1\u0eb2\u0ec3\u0e99 `call stack`. \u0ec3\u0e99\u0e81\u0ecd\u0ea5\u0eb0\u0e99\u0eb5\u0e99\u0eb5\u0ec9\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5 function \u0ead\u0eb7\u0ec8\u0e99\u0e97\u0eb5\u0ec8\u0e96\u0eb7\u0e81\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9, \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0e99\u0ea1\u0eb1\u0e99\u0e88\u0eb6\u0ec8\u0e87\u0ea2\u0eb4\u0e9a\u0ec0\u0ead\u0ebb\u0eb2 item \u0e97\u0eb3\u0ead\u0eb4\u0e94\u0e97\u0eb5\u0ec8\u0ea2\u0eb9\u0ec8\u0ec3\u0e99 `queue` (\u0ec3\u0e99\u0e99\u0eb5\u0ec9\u0ea1\u0eb5\u0e9e\u0ebd\u0e87 1 item) \u0ec1\u0ea5\u0ec9\u0ea7 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec3\u0e99 `call stack`.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"405\" class=\"wp-image-3671\" src=\"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-05.gif\" alt=\"\" \/><\/figure>\n<\/div>\n<p>\u0e82\u0eb0\u0e9a\u0ea7\u0e99\u0e81\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0eab\u0e8d\u0ecd\u0ec9: callback \u0ec4\u0e94\u0ec9\u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 <code>call stack<\/code>, \u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9 (invoked0, return value, popped callback \u0ead\u0ead\u0e81\u0e88\u0eb2\u0e81 <code>call stack<\/code>.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"405\" class=\"wp-image-3673\" src=\"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-06.gif\" alt=\"\" \/><\/figure>\n<\/div>\n<p>\u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e97\u0eb5\u0ec8\u0ead\u0ec8\u0eb2\u0e99\u0e82\u0eb0\u0e9a\u0ea7\u0e99\u0e81\u0eb2\u0e99\u0e81\u0eb2\u0e99\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0e82\u0ead\u0e87 JS \u0e94\u0ec9\u0eb2\u0e99\u0ec0\u0e97\u0eb4\u0e87\u0ec1\u0ea5\u0ec9\u0ea7 \u0ec0\u0eae\u0ebb\u0eb2\u0ea1\u0eb2\u0ea5\u0ead\u0e87\u0ec0\u0e9d\u0eb4\u0e81\u0eaa\u0eb0\u0edd\u0ead\u0e87\u0e94\u0ec9\u0ea7\u0e8d\u0e81\u0eb2\u0e99\u0ea5\u0ead\u0e87\u0e84\u0eb4\u0e94\u0e9e\u0eb2\u0e9a\u0e81\u0eb2\u0e99\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0e82\u0ead\u0e87\u0e82\u0eb0\u0e9a\u0ea7\u0e99\u0e81\u0eb2\u0e99\u0e94\u0ec9\u0eb2\u0e99\u0ea5\u0eb8\u0ec8\u0ea1\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0ec8\u0eb2 function \u0ec3\u0e94\u0e88\u0eb0\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0eaa\u0eb3\u0ec0\u0ea5\u0eb1\u0e94\u0e81\u0ec8\u0ead\u0e99\u0e81\u0eb1\u0e99.<\/p>\n<pre class=\"wp-block-code\"><code>const foo = () =&gt; console.log(\"First\");\nconst bar = () =&gt; setTimeout(() =&gt; console.log(\"Second\"), 500);\nconst baz = () =&gt; console.log(\"Third\");\nbar();\nfoo();\nbaz();<\/code><\/pre>\n<p>\u0e88\u0eb2\u0e81 code \u0e94\u0ec9\u0eb2\u0e99\u0ec0\u0e97\u0eb4\u0e87\u0e88\u0eb0\u0ea1\u0eb5\u0e82\u0eb0\u0e9a\u0ea7\u0e99\u0e81\u0eb2\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb5\u0ec9:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"405\" class=\"wp-image-3674\" src=\"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-07.gif\" alt=\"\" \/><\/figure>\n<\/div>\n<p>\u0ead\u0eb0\u0e97\u0eb4\u0e9a\u0eb2\u0e8d:<\/p>\n<ol class=\"wp-block-list\">\n<li>\u0ec0\u0eae\u0ebb\u0eb2\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9 (invoked) <code>bar<\/code> function, <code>bar<\/code> \u0e88\u0eb0 return <code>setTimeout<\/code> function.<\/li>\n<li>callback \u0e97\u0eb5\u0ec8\u0ec0\u0eae\u0ebb\u0eb2 passed \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 <code>setTimeout<\/code> \u0e88\u0eb0\u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 Web API, \u0ec0\u0e8a\u0eb4\u0ec8\u0e87 <code>setTimeout<\/code> function \u0ec1\u0ea5\u0eb0 <code>bar<\/code> \u0e88\u0eb0\u0e96\u0eb7\u0e81 popped \u0ead\u0ead\u0e81\u0e88\u0eb2\u0e81 <code>call stack<\/code>.<\/li>\n<li>timer \u0e88\u0eb0\u0ea3\u0eb1\u0e99\u0ec4\u0e9b\u0ec0\u0ea5\u0eb7\u0ec9\u0ead\u0e8d\u0ec6, \u0ec3\u0e99\u0e82\u0eb0\u0e99\u0eb0\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e99 <code>foo<\/code> function \u0e81\u0ecd\u0ec8\u0e96\u0eb7\u0e81\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9 \u0ec1\u0ea5\u0eb0 logs \u0e84\u0ec8\u0eb2\u0ead\u0ead\u0e81\u0ea1\u0eb2 <code>First<\/code>. <code>foo<\/code> return (undefined), baz \u0e96\u0eb7\u0e81\u0ec0\u0ead\u0eb5\u0ec9\u0e99\u0ec3\u0e8a\u0ec9 \u0ec1\u0ea5\u0eb0 callback \u0e81\u0ecd\u0ec8\u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 <code>queue<\/code>.<\/li>\n<li><code>baz<\/code> \u0e88\u0eb0 logs \u0e84\u0ec8\u0eb2 <code>Third<\/code>. <code>event loop<\/code> \u0ec0\u0eab\u0eb1\u0e99\u0ea7\u0ec8\u0eb2 <code>call stack<\/code> \u0ea7\u0ec8\u0eb2\u0e87\u0ea2\u0eb9\u0ec8 (empty) \u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e97\u0eb5\u0ec8 <code>baz<\/code> \u0ec4\u0e94\u0ec9\u0e97\u0eb3\u0e81\u0eb2\u0e99 return \u0e84\u0ec8\u0eb2\u0eaa\u0eb3\u0ec0\u0ea5\u0eb1\u0e94. \u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e97\u0eb5\u0ec8\u0ec1\u0e95\u0ec8\u0ea5\u0eb0 callback \u0e96\u0eb7\u0e81 added \u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0ec3\u0e99 <code>call stack<\/code> \u0ec1\u0ea5\u0ec9\u0ea7.<\/li>\n<li>callback \u0e88\u0eb0 logs \u0e84\u0ec8\u0eb2 <code>Second<\/code><\/li>\n<\/ol>\n<p>\u0e9a\u0ec8\u0ead\u0e99\u0ead\u0ec9\u0eb2\u0e87\u0ead\u0eb5\u0e87:<\/p>\n<p><a href=\"https:\/\/dev.to\/lydiahallie\/javascript-visualized-event-loop-3dif\">https:\/\/dev.to\/lydiahallie\/javascript-visualized-event-loop-3dif<\/a><\/p>\n<p>\u0e82\u0ebd\u0e99\u0ec2\u0e94\u0e8d: <a href=\"https:\/\/medium.com\/@pphatskps?source=post_page-----39655f37d3f9--------------------------------\">phatsss<\/a><\/p>\n<p>&nbsp;<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"\u0eab\u0ec8\u0eb2\u0e87\u0eab\u0eb2\u0e8d\u0ec4\u0e9b\u0e94\u0ebb\u0e99\u0eaa\u0ebb\u0ea1\u0e84\u0ea7\u0e99, \u0e94\u0ebd\u0ea7\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0e88\u0eb0\u0e82\u0ebd\u0e99\u0ec0\u0ea5\u0eb7\u0ec8\u0ead\u0e87\u0ec0\u0e9a\u0eb7\u0ec9\u0ead\u0e87\u0ec0\u0ea5\u0eb4\u0e81\u0ec0\u0e9a\u0eb7\u0ec9\u0ead\u0e87\u0eab\u0ebc\u0eb1\u0e87\u0e82\u0ead\u0e87\u0e9e\u0eb2\u0eaa\u0eb2 JavaScript \u0ec3\u0eab\u0ec9\u0ead\u0ec8\u0eb2\u0e99\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb7\u0ec9\u0e99\u0e96\u0eb2\u0e99\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0e99\u0eb3\u0ec3\u0e8a\u0ec9\u0e9e\u0eb2\u0eaa\u0eb2 JavaScript \u0ec3\u0eab\u0ec9\u0ea1\u0eb5\u0e9b\u0eb0\u0eaa\u0eb4\u0e94\u0e97\u0eb4\u0e9e\u0eb2\u0e9a(\u0eab\u0ebc\u0eb7\u0e9a\u0ecd\u0ec8?). Hey JS \u267b\ufe0f! JS \u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0e97\u0eb5\u0ec8\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0ec1\u0e9a\u0e9a **single-threaded** \u0ec1\u0ea5\u0eb0 **non-blocking** \u0edd\u0eb2\u0e8d\u0e84\u0ea7\u0eb2\u0ea1\u0ea7\u0ec8\u0eb2\u0ea1\u0eb1\u0e99\u0e88\u0eb0\u0ec0\u0eae\u0eb1\u0e94\u0ea7\u0ebd\u0e81\u0e9e\u0ebd\u0e87\u0ec1\u0e95\u0ec8 1 task \u0e95\u0ecd\u0ec8\u0e84\u0eb1\u0ec9\u0e87, \u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0e84\u0eb7\u0ea7\u0ec8\u0eb2\u0ea1\u0eb1\u0e99\u0e81\u0ecd\u0ec8\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5\u0e9a\u0eb1\u0e99\u0eab\u0eb2\u0eab\u0e8d\u0eb1\u0e87 \u0ec1\u0e95\u0ec8\u0ea5\u0ead\u0e87\u0e84\u0eb4\u0e94\u0e9e\u0eb2\u0e9a\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea7\u0ec8\u0eb2\u0ec0\u0eae\u0ebb\u0eb2\u0ea1\u0eb5","protected":false},"author":2,"featured_media":3667,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3666","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JavaScript EP1: Event Loop\u267b\ufe0f - Lao IT Dev<\/title>\n<meta name=\"description\" content=\"Lao IT Dev JavaScript EP1: Event Loop\u267b\ufe0f Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/laoitdev.com\/lao\/2023\/3666\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript EP1: Event Loop\u267b\ufe0f - Lao IT Dev\" \/>\n<meta property=\"og:description\" content=\"Lao IT Dev JavaScript EP1: Event Loop\u267b\ufe0f Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency\" \/>\n<meta property=\"og:url\" content=\"https:\/\/laoitdev.com\/lao\/2023\/3666\/\" \/>\n<meta property=\"og:site_name\" content=\"Lao IT Dev\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-31T07:25:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-07T13:56:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"vilaphonh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0e82\u0ebd\u0e99\u0ec2\u0e94\u0e8d\" \/>\n\t<meta name=\"twitter:data1\" content=\"vilaphonh\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0ec0\u0ea7\u0ea5\u0eb2\u0ead\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e9b\u0eb0\u0ea1\u0eb2\u0e99\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u0e99\u0eb2\u0e97\u0eb5\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/\"},\"author\":{\"name\":\"vilaphonh\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#\\\/schema\\\/person\\\/ed7202365f858656aad6286b72502a00\"},\"headline\":\"JavaScript EP1: Event Loop\u267b\ufe0f\",\"datePublished\":\"2023-03-31T07:25:00+00:00\",\"dateModified\":\"2024-02-07T13:56:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/\"},\"wordCount\":206,\"publisher\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/laoitdev.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/java-01.jpg\",\"articleSection\":[\"\u0e44\u0e21\u0e48\u0e21\u0e35\u0e2b\u0e21\u0e27\u0e14\u0e2b\u0e21\u0e39\u0e48\"],\"inLanguage\":\"lo\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/\",\"url\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/\",\"name\":\"JavaScript EP1: Event Loop\u267b\ufe0f - Lao IT Dev\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/laoitdev.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/java-01.jpg\",\"datePublished\":\"2023-03-31T07:25:00+00:00\",\"dateModified\":\"2024-02-07T13:56:52+00:00\",\"description\":\"Lao IT Dev JavaScript EP1: Event Loop\u267b\ufe0f Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/#breadcrumb\"},\"inLanguage\":\"lo\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"lo\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/#primaryimage\",\"url\":\"https:\\\/\\\/laoitdev.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/java-01.jpg\",\"contentUrl\":\"https:\\\/\\\/laoitdev.com\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/java-01.jpg\",\"width\":720,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/2023\\\/3666\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/laoitdev.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript EP1: Event Loop\u267b\ufe0f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#website\",\"url\":\"https:\\\/\\\/laoitdev.com\\\/\",\"name\":\"Lao IT Dev - Lao ICT Solutions Group\",\"description\":\"LAOITDEV\",\"publisher\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#organization\"},\"alternateName\":\"Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/laoitdev.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"lo\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#organization\",\"name\":\"Lao IT Dev Co., Ltd.\",\"url\":\"https:\\\/\\\/laoitdev.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lo\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/laoitdev.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Default-feature-image.jpg\",\"contentUrl\":\"https:\\\/\\\/laoitdev.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Default-feature-image.jpg\",\"width\":800,\"height\":600,\"caption\":\"Lao IT Dev Co., Ltd.\"},\"image\":{\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/laoitdev.com\\\/#\\\/schema\\\/person\\\/ed7202365f858656aad6286b72502a00\",\"name\":\"vilaphonh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lo\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/71ce123e7565a0b16b538886ba14fe28f45f0c8a8225ea08c861a54d6fb21af2?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/71ce123e7565a0b16b538886ba14fe28f45f0c8a8225ea08c861a54d6fb21af2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/71ce123e7565a0b16b538886ba14fe28f45f0c8a8225ea08c861a54d6fb21af2?s=96&d=mm&r=g\",\"caption\":\"vilaphonh\"},\"url\":\"https:\\\/\\\/laoitdev.com\\\/lao\\\/author\\\/vilaphonh\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript EP1: Event Loop\u267b\ufe0f - Lao IT Dev","description":"Lao IT Dev JavaScript EP1: Event Loop\u267b\ufe0f Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/laoitdev.com\/lao\/2023\/3666\/","og_locale":"en_US","og_type":"article","og_title":"JavaScript EP1: Event Loop\u267b\ufe0f - Lao IT Dev","og_description":"Lao IT Dev JavaScript EP1: Event Loop\u267b\ufe0f Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency","og_url":"https:\/\/laoitdev.com\/lao\/2023\/3666\/","og_site_name":"Lao IT Dev","article_published_time":"2023-03-31T07:25:00+00:00","article_modified_time":"2024-02-07T13:56:52+00:00","og_image":[{"width":720,"height":540,"url":"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-01.jpg","type":"image\/jpeg"}],"author":"vilaphonh","twitter_card":"summary_large_image","twitter_misc":{"\u0e82\u0ebd\u0e99\u0ec2\u0e94\u0e8d":"vilaphonh","\u0ec0\u0ea7\u0ea5\u0eb2\u0ead\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e9b\u0eb0\u0ea1\u0eb2\u0e99":"3 \u0e99\u0eb2\u0e97\u0eb5"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/laoitdev.com\/2023\/3666\/#article","isPartOf":{"@id":"https:\/\/laoitdev.com\/2023\/3666\/"},"author":{"name":"vilaphonh","@id":"https:\/\/laoitdev.com\/#\/schema\/person\/ed7202365f858656aad6286b72502a00"},"headline":"JavaScript EP1: Event Loop\u267b\ufe0f","datePublished":"2023-03-31T07:25:00+00:00","dateModified":"2024-02-07T13:56:52+00:00","mainEntityOfPage":{"@id":"https:\/\/laoitdev.com\/2023\/3666\/"},"wordCount":206,"publisher":{"@id":"https:\/\/laoitdev.com\/#organization"},"image":{"@id":"https:\/\/laoitdev.com\/2023\/3666\/#primaryimage"},"thumbnailUrl":"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-01.jpg","articleSection":["\u0e44\u0e21\u0e48\u0e21\u0e35\u0e2b\u0e21\u0e27\u0e14\u0e2b\u0e21\u0e39\u0e48"],"inLanguage":"lo"},{"@type":"WebPage","@id":"https:\/\/laoitdev.com\/2023\/3666\/","url":"https:\/\/laoitdev.com\/2023\/3666\/","name":"JavaScript EP1: Event Loop\u267b\ufe0f - Lao IT Dev","isPartOf":{"@id":"https:\/\/laoitdev.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/laoitdev.com\/2023\/3666\/#primaryimage"},"image":{"@id":"https:\/\/laoitdev.com\/2023\/3666\/#primaryimage"},"thumbnailUrl":"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-01.jpg","datePublished":"2023-03-31T07:25:00+00:00","dateModified":"2024-02-07T13:56:52+00:00","description":"Lao IT Dev JavaScript EP1: Event Loop\u267b\ufe0f Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency","breadcrumb":{"@id":"https:\/\/laoitdev.com\/2023\/3666\/#breadcrumb"},"inLanguage":"lo","potentialAction":[{"@type":"ReadAction","target":["https:\/\/laoitdev.com\/2023\/3666\/"]}]},{"@type":"ImageObject","inLanguage":"lo","@id":"https:\/\/laoitdev.com\/2023\/3666\/#primaryimage","url":"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-01.jpg","contentUrl":"https:\/\/laoitdev.com\/wp-content\/uploads\/2023\/04\/java-01.jpg","width":720,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/laoitdev.com\/2023\/3666\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/laoitdev.com\/"},{"@type":"ListItem","position":2,"name":"JavaScript EP1: Event Loop\u267b\ufe0f"}]},{"@type":"WebSite","@id":"https:\/\/laoitdev.com\/#website","url":"https:\/\/laoitdev.com\/","name":"Lao IT Dev - Lao ICT Solutions Group","description":"LAOITDEV","publisher":{"@id":"https:\/\/laoitdev.com\/#organization"},"alternateName":"Domestic and international ICT services, consultants, Mobile app, Web development, application development, Blockchain, AI and Cryptocurrency","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/laoitdev.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"lo"},{"@type":"Organization","@id":"https:\/\/laoitdev.com\/#organization","name":"Lao IT Dev Co., Ltd.","url":"https:\/\/laoitdev.com\/","logo":{"@type":"ImageObject","inLanguage":"lo","@id":"https:\/\/laoitdev.com\/#\/schema\/logo\/image\/","url":"https:\/\/laoitdev.com\/wp-content\/uploads\/2021\/08\/Default-feature-image.jpg","contentUrl":"https:\/\/laoitdev.com\/wp-content\/uploads\/2021\/08\/Default-feature-image.jpg","width":800,"height":600,"caption":"Lao IT Dev Co., Ltd."},"image":{"@id":"https:\/\/laoitdev.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/laoitdev.com\/#\/schema\/person\/ed7202365f858656aad6286b72502a00","name":"vilaphonh","image":{"@type":"ImageObject","inLanguage":"lo","@id":"https:\/\/secure.gravatar.com\/avatar\/71ce123e7565a0b16b538886ba14fe28f45f0c8a8225ea08c861a54d6fb21af2?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/71ce123e7565a0b16b538886ba14fe28f45f0c8a8225ea08c861a54d6fb21af2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/71ce123e7565a0b16b538886ba14fe28f45f0c8a8225ea08c861a54d6fb21af2?s=96&d=mm&r=g","caption":"vilaphonh"},"url":"https:\/\/laoitdev.com\/lao\/author\/vilaphonh\/"}]}},"_links":{"self":[{"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/posts\/3666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/comments?post=3666"}],"version-history":[{"count":3,"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/posts\/3666\/revisions"}],"predecessor-version":[{"id":3867,"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/posts\/3666\/revisions\/3867"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/media\/3667"}],"wp:attachment":[{"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/media?parent=3666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/categories?post=3666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/laoitdev.com\/lao\/wp-json\/wp\/v2\/tags?post=3666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}