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。这就是您获得异步行为的方式!
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短