ASTRO轻应用 ASTROZERO-脚本的模块使用限制:循环依赖
循环依赖
当循环调用模块时,一个模块可能在未完成执行时被返回。因此,需要仔细的规划模块间调用,以允许循环模块依赖在应用程序内正常工作。
例如,脚本a:
console.log('a 开始'); exports.done = false; import * as b from 'b'; console.log('在 a 中,b.done = ', b.done); exports.done = true; console.log('a 结束');
脚本b:
console.log('b 开始'); exports.done = false; import * as a from 'a'; console.log('在 b 中,a.done = ', a.done); exports.done = true; console.log('b 结束');
脚本main:
console.log('main 开始'); import * as a from 'a'; import * as b from 'b'; console.log('在 main 中,a.done = ', a.done ',b.done = ', b.done);
当main加载a时,a又加载b。 此时,b又会尝试去加载a。 为了防止无限的循环,会返回一个a的exports对象的未完成的副本给b模块。然后b完成加载,并将exports对象提供给a模块。当main加载这两个模块时,它们都已完成加载,因此该程序的输出会是:
main 开始 a 开始 b 开始 在 b 中,a.done = false b 结束 在 a 中,b.done = true a 结束 在 main 中,a.done=true,b.done=true
- Astro轻应用_Astro大屏应用_分钟级构建业务大屏
- 云日志服务的使用限制_云日志服务_使用限制说明
- Astro低代码平台关键能力_低代码开发平台_华为云Astro-华为云
- Astro轻应用_低代码开发平台Astro Zero_新手入门
- Astro轻应用_低代码开发平台Astro Zero_码农防脱神器
- Astro轻应用_零代码平台_开发无忧加速创新
- 低代码开发平台_低代码平台Astro_低代码开发是什么-华为云
- 华为云Astro低代码平台能力_华为云Astro_低代码平台-华为云
- 华为云低代码平台_低代码开发平台_华为云Astro-华为云
- 免费的低代码开发平台_低代码平台_华为云Astro-华为云