jQuery.ajax() 方法的异步选项已弃用,现在怎么办?

问题描述

解决方案是手动添加一个覆盖以防止用户与界面交互,然后在 AJAX 查询完成后将其删除

$(function() {
    show_overlay();        

    $.ajax({
        // Query to server
    }).done(function() {
        // Verify good data
        // Do stuff
        remove_overlay();
    });
});

解决方法

从 jQuery 1.8 开始,不推荐使用jQuery.ajax()async:false中的。 但是,在后台正在进行 AJAX 通信的情况下,您见过多少带有“加载屏幕”的网页?我可能见过成千上万的人。

我的情况是我正在编写一个需要加载语言文件的移动应用程序。一开始我加载语言文件,然后从语言文件中检索按钮和其他 GUI 元素的文本。

这对我来说真的很糟糕。因为如果缺少语言文件,则不应出现 GUI。那么我该如何解决呢?将我所有的代码放在success回调中?对我来说,这似乎不是一个好的编码实践。我可以用另一种方式解决吗?