gpt4 book ai didi

javascript - Dojo 需要单参数同步吗?

转载 作者:行者123 更新时间:2023-11-29 22:12:17 25 4
gpt4 key购买 nike

我的公司正在从经典的 Dojo 语法转向 AMD。在某些情况下,我们需要同步动态加载模块。

dojo 中的 Require 似乎并不正式支持同步加载(至少它没有在任何地方记录)但是如果你不将 a 函数作为第二个参数传递它似乎可以工作(至少在 1.7.2 中) .

require(["path/to/my/Module"]);

我在 Fiddler 中添加了额外的延迟,它肯定会在进入下一行之前加载。

有谁知道这是否安全可靠?如果它只是将在 2.0 中退役的经典样式的遗留问题,我并不想在代码库中乱扔垃圾。

最佳答案

即使使用 commonJs 样式要求,AMD 也不支持同步加载。如果模块已经加载,require 函数只会同步加载。见:

如果您已经异步加载了模块,那么可以使用 commonJs 样式要求,例如:

var lang = require("dojo/_base/lang");

但是,如果您还没有加载它,它会抛出一个undefinedModule 错误(我已经在 v1.9 中对此进行了测试)。如果这在 v1.7 中有效,那么它已在 Dojo 的更高版本中修复

不可能通过将新配置传递给 Dojo 来暂时将其置于同步模式,例如:

require({"async":false});

异步设置只能在加载时设置(参见:http://dojotoolkit.org/reference-guide/1.9/loader/amd.html#loader-amd-configuration)。因此,您在初始加载时选择异步或同步,然后就卡在那里了。

我建议重构任何需要同步操作的代码。这通常是可能的,结果可能是更好更快的代码。

关于javascript - Dojo 需要单参数同步吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com