【金秋打卡】第25天 前端面试技能拼图3
2022/11/18 4:23:58
本文主要是介绍【金秋打卡】第25天 前端面试技能拼图3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称:2周刷完100道前端优质面试真题
课程章节:第5章 前端面试技能拼图3 :知识深度 - 原理和源码
主讲老师:双越
课程内容:
今天学习的内容包括:
5-10 -浏览器和nodejs事件循环(Event Loop)有什么区别-nodejs——微任务中process.nextTick优先级最高。
课程收获:
nodejs异步
- nodejs 同样使用 ES 语法,也是单线程,也需要异步
- 异步任务也分:宏任务 + 微任务
- 但是,它的宏任务和微任务,分不同类型,也有不同优先级
console.info('start') setImmediate(() => { console.info('setImmediate') }) setTimeout(() => { console.info('timeout') }) Promise.resolve().then(() => { console.info('promise then') }) process.nextTick(() => { console.info('nextTick') }) console.info('end') // start end nextTick promise then timeout setImmediate
nodejs 宏任务类型和优先级 1/2
- timers - setTimeout setInterval
- I/O callbacks - 处理网络、流、TCP 的错误回调
- Idle,prepare - 闲置状态(nodejs 内部使用)
nodejs 宏任务类型和优先级 2/2
- Poll 轮循 - 执行 poll 中的 I/O 队列
- Check 检查 - 存储 setImmediate 回调
- Close callbacks - 关闭回调,如 socket.on(‘close’)
nodejs 微任务类型和优先级
- 包括:promise,async/await,process.nextTick
- 注意,process.nextTick优先级最高
nodejs event loop
- 执行同步代码
- 执行微任务(process.nextTick优先级更高)
- 按顺序执行6个类型的宏任务(每个结束时都执行当前的微任务)
答案
- 浏览器和nodejs的event loop流程基本相同
- nodejs宏任务和微任务分类型,有优先级
注意事项
- 推荐使用setImmediate代替process.nextTick
- 本文基于nodejs最新版本,nodejs低版本可能会不同
今天的 学习了 浏览器和nodejs事件循环(Event Loop)有什么区别-nodejs。知道了nodejs中也有宏任务和微任务,宏任务主要包括setTimeout、setInterval以及callbacks(处理网络、流、TCP等错误回调)等,微任务主要包括promise、async/await以及process.nextTick。
下一步就是 学习了 虚拟DOM(vdom)真的很快吗。今天学习就先到这里吧。
坚持打卡,坚持学习,未来可期,加油😀~
这篇关于【金秋打卡】第25天 前端面试技能拼图3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15AntDesign项目实战:新手入门与初级应用教程
- 2024-11-15AntDesign-Form-rules项目实战:新手指南
- 2024-11-14ESLint课程:初学者指南
- 2024-11-14Form.List 动态表单课程:新手入门教程
- 2024-11-14Redux课程:新手入门完全指南
- 2024-11-13MobX 使用入门教程:轻松掌握前端状态管理
- 2024-11-12前端编程资料:新手入门指南与初级教程
- 2024-11-12前端开发资料入门指南
- 2024-11-12前端培训资料:适合新手与初级用户的简单教程
- 2024-11-12前端入门资料:新手必读指南