JavaScript 异步操作和事件循环
示例
常见的JavaScript编程环境中许多有趣的操作都是异步的。例如,在浏览器中,我们看到类似
window.setTimeout(() => {
console.log("this happens later");
}, 100);在Node.js我们看到的东西像
fs.readFile("file.txt", (err, data) => {
console.log("data");
});这与事件循环如何配合?
这是如何工作的,当这些语句执行时,它们告诉主机环境(即Node.js分别为浏览器或运行时)关闭并可能在另一个线程中执行某些操作。当主机环境完成该操作后(分别等待100毫秒或读取文件file.txt),它将把一个任务发布到事件循环中,说“用这些参数调用我之前给出的回调”。
然后,事件循环正忙着做它的事情:渲染网页,侦听用户输入并不断寻找发布的任务。当看到这些已发布的任务以调用回调时,它将回调回JavaScript。这就是您获得异步行为的方式!
热门推荐
10 对新人祝福语大全简短
11 朝鲜元旦祝福语大全简短
12 升学宴同学祝福语简短
13 升班祝福语简短10字
14 简短元旦祝福语古言
15 幼儿祝福语大全简短贺卡
16 孙子生日祝福语简短精辟
17 关于糖果的祝福语简短
18 培训机构升班祝福语简短