[NodeJs] nodejs中require方法是同步还是异步操作?为什么?

haizhilin2013
2020-03-03 10:34:59 星期二
NodeJs
                    
                        
nodejs中require方法是同步还是异步操作?为什么?
Comments per page
< Page 1 / 1 >
zhaofeipeter 2020-08-07 09:52:32

同步
因为经常用到模块,并且一般都在模块顶端引入,所以把require做成同步,有助于代码整洁有序,增强可读性。
但是,I/O密集的地方尽量不要用require。所有的同步,都会阻塞Node,直到调用完才能做其他事。
比如,在运行一个http服务,如果在每个请求上都用到require,就会遇到性能问题。
所以,require和其他同步操作通常放在程序最初加载的位置。

zsasjy 2020-12-05 15:43:06

require是同步请求,require支持条件导入、动态导入等,因为require获取得到的是对应路径的module导出的内容。当导出内容发生变化时,再次导入得到的内容是最新的。读取文件采取的也是同步读取

学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

【关注官方公众号】 每天4:30-5:00推送
【公众号推荐】 一起折腾前端算法
【微信学习群】 备注3+1