收藏
回答

死循环模块引用

问题模块
API和组件

在node环境中, 模块A引用模块B, 模块B引用模块A是允许的, 只需要判断缓存对象是否存在该模块即可.


在微信小程序中, 如果模块A、B互相直接或间接引用, 会报死循环。 即: Maximum call stack size exceeded

而且引用过的模块明显没有缓存过,


代码如下

A.js

console.log('这是A模块')

require('./B.js');


B.js

console.log('这是B模块')

require('./A.js');


output: (死循环)

这是A模块

这是B模块

这是A模块

这是B模块

这是A模块

这是B模块

...

最后一次编辑于  2017-01-11  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 红瞳
    红瞳
    2018-01-25

    同“不支持循环引用”。。。😔。。。

    2018-01-25
    赞同
    回复
  • 陈倬
    陈倬
    2018-02-14

    wepy 创建的种子项目(启用了 redux),尝试引入 dva-core 会报这个错。


    thirdScriptError 

     sdk uncaught third Error 

     Maximum call stack size exceeded 

     RangeError: Maximum call stack size exceeded

        at Array.join (native)


    2018-02-14
    赞同
    回复
  • Z
    Z
    2018-03-05

    有人遇到这个问题解决了的吗

    2018-03-05
    赞同
    回复 1
    • 奇诺
      奇诺
      03-02

      基础库2.0以上版本支持了

      03-02
      赞同
      回复