暂停app launch / init上的所有操作,直到获得ajax响应

时间:2017-05-22 10:36:20

标签: ajax initialization extjs6

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

示例:

private void addNew_Click(object sender, EventArgs e)
{
    //textBox1.Enabled = true;
    //textBox1.Focus();
    comboBox1.Items.Add("item " + counter.ToString());
    counter++;

}

在第一次请求返回任何答案之前,我必须阻止App中控制器的任何操作。 suspendEvents不是一种方式......或者我使用它错了? 谢谢。

1 个答案:

答案 0 :(得分:1)

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

试试这个:

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

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