什么是事件循环(event loop)?调用栈(call stack)与任务队列(task queue)有什么区别?
What is event loop? What is the difference between call stack and task queue?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: javascript-fundamentals
标签: Event Loop, Call Stack, Task Queue
参考答案摘要
答案 事件循环是单线程运行时的调度机制:持续监控调用栈是否为空,并检查任务队列里是否有待执行的回调任务。 调用栈(call stack)保存当前正在执行的函数调用帧;它是“正在运行的同步执行路径”。 任务队列(task queue)保存已经完成的异步操作对应的回调(或任务);当调用栈清空后,事件循环会把队列中的一个任务出队并压入调用栈执行。 理解要点:异步回调不会“打断”正在执行的同步代码,而是在...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。