暂停应用启动/初始化时的所有操作,直到获得 ajax 响应



我正在尝试找到一种方法来停止任何操作,直到 Ajax 请求返回任何数据。请求正在应用程序 init(( 方法中调用。

例:

Ext.define('MyApp.Application', {
    ...
    init: function() {
        // SUSPEND APP LOADING
        Ext.Ajax.request({
            ...
            success: function() { 
                // CONTINUE app loading 
            }
        })
    }
});

只是我必须阻止应用程序中控制器的任何操作,直到第一个请求返回任何答案。暂停事件不是一种方式...还是我用错了?谢谢。

我们可以使用async:false ajax 选项,等到 ajax 请求完成

试试这个:

Ext.define('MyApp.Application', {
    ...
    init: function() {
        // SUSPEND APP LOADING
        Ext.Ajax.request({
            ...
            async: false,
            success: function() { 
                // CONTINUE app loading 
            }
        })
    }
});

它将阻止进一步的代码,直到 ajax 请求完成

最新更新