关于node中两个模块相互引用却不会死循环的问题

关于node中两个模块相互引用却不会死循环的问题

node中是通过require来导入加载模块的,require有两个作用:

   1.加载文件模块并执行里面的代码

2.拿到被加载文件模块导出的接口对象

现在又两个文件一个文件a 一个文件b

这是a文件的代码

 

这是b文件的代码

我们运行a文件发现,并未出现死循环的状态出现

 

原因就是
nodejs在运行b文件调用a文件这行代码时
为了防止死循环会返回a.js未完成的副本,
这个未完成的副本就是a.js执行到require('./b.js')这一行的时候a.js的状态
所以就不会造成死循环。


posted @ 2019-07-10 17:13  张弎  阅读(662)  评论(0编辑  收藏  举报