Extjs JSON数据存储中的全局变量

Extjs JSON数据存储中的全局变量,extjs,Extjs,我想声明一个全局变量,它从数据存储中获取值,并在警报窗口中显示其值 var params = 1; var storeTeacher = new Ext.data.JsonStore({ id: 'IDstoreTeacher', url: 'school.php', method: 'POST', baseParams:{task: "LABEL", parametar: params},

我想声明一个全局变量,它从数据存储中获取值,并在警报窗口中显示其值

var params = 1;

var storeTeacher = new Ext.data.JsonStore({
       id: 'IDstoreTeacher',
       url: 'school.php',
       method: 'POST',
       baseParams:{task: "LABEL",
                   parametar: params},
       root: 'rows',
       fields: 
              [{name: 'NameT', type: 'string', mapping: 'Teacher_name'}],
       autoLoad: true   
    });

var TeacherName;

storeTeacher.load({ 
       scope: this, 
       callback: function (records, operation, success) { 
                   TeacherName = storeTeacher.getAt(0).get('NameT');
              }
});


alert(TeacherName);
但是,我得到的唯一一个提示窗口是:未定义的您的
提示(TeacherName)storeTeacher.load执行回调之前,正在执行code>call

如果将
警报(TeacherName)
放入回调函数,它将正确填充您的TeacherName并在警报中正确显示:

storeTeacher.load({
    scope: this,         
    callback: function (records, operation, success) {                     
        TeacherName = storeTeacher.getAt(0).get('NameT');
        alert(TeacherName);   
} }); 
这种行为是意料之中的