0

我有一个使用 C# 的 MVC 模型网站,它是使用一系列文件创建的。我正在尝试使用 globalize.js 来翻译日期和日期格式。这样做需要我加载 cldr 数据。我是通过使用将 async 标志设置为 false 的 ajax 调用来做到这一点的,如下所示:

$.ajax({
      dataType: "json",
      url: "/data/cldr/supplemental/likelySubtags.json",
      success: function (data) {
         globalize.load(data);
      },
      async: false
});

这行得通,但由于需要加载的文件数量(7 x 60-70kb),它将加载时间减慢到不可接受的水平。由于站点的模块化特性,我目前正在努力寻找一种方法来加载数据,然后才需要在没有 async 标志的情况下使用它。我需要在标题中加载数据,这是一个文件,并在每个页面上可能有 20-30 个其他模块中使用它,每个模块都在他们自己的文件中,并带有自己的脚本标签。问题是所有这些模块都在globalize.load(data)语句执行之前加载和出错。

我的问题是:如何停止执行动态数量和类型的语句,直到一系列 ajax 调用完成,而这两个调用位于单独的文件中?我相当肯定答案将是承诺,但我不知道如何让承诺表现得像我想要的那样。

4

0 回答 0