【发布时间】:2016-04-11 15:38:57
【问题描述】:
我有一个存储加载的功能。那就是:
function PdCtrl_Posicionamiento_RegistrarPosicion(numeroPrograma, tren, fechaTren, ramal, secuenciaEstacion, kilometraje, hora, minuto, tipoOrigen, eliminaDependencia) {
storePdCtrl_Posicionamiento_RegistrarPosicion.load({
params: {
numeroPrograma: numeroPrograma,
tren: tren,
fechaTren: fechaTren,
ramal: ramal,
secuenciaEstacion: secuenciaEstacion,
kilometraje: kilometraje,
hora: hora + ":" + minuto,
tipoOrigen: tipoOrigen,
eliminaDependencia: eliminaDependencia,
usuario: NOMBRE
},
callback: function () {
var estado = new Array();
var err = storePdCtrl_Posicionamiento_RegistrarPosicion.getAt(0).get('ESTADO');
var mensaje = storePdCtrl_Posicionamiento_RegistrarPosicion.getAt(0).get('MENSAJE');
estado.push(err);
estado.push(mensaje);
return estado;
},
});
}
我需要在其他地方(在函数调用中)获取返回值(数组),但是对于 ExtJs 的工作方式(异步),我无法获取数组。以下行不起作用:
var vl_estado = PdCtrl_Posicionamiento_RegistrarPosicion(numeroPrograma, tren, fechaTren, ramal, secuenciaEstacion, kilometraje, hora, minuto, tipoOrigen, eliminaDependencia);
console.debug("estado:" + vl_estado);
当我调试变量“estado”时,我没有任何价值。也许我没有很好地解释这种情况。对不起,谢谢。
【问题讨论】:
-
将加载处理程序设置为调用存储加载方法的包装函数。这将允许您在包装方法中使用变量范围,您可以在回调触发时访问和设置该范围。