A modo de nota, se puede hacer de dos maneras:
- Mediante $A.enqueueAction
- Cambiar la función que se desea invocar en el helper
Mediante $A.enqueueAction
Un ejemplo del código para ilustrar es el siguiente (tomado de stackoveflow):
({
bar : function(component, event, helper) {
console.log('Paso 2');
},
foo : function(component, event, helper) {
console.log('Paso 1');
var a = component.get('c.bar');
$A.enqueueAction(a);
console.log('Paso 3');
}
})
“Funciona” a medias, ya que se ejecuta de manera asíncrona, dando como resultado lo siguiente:
Mediante el archivo helper
Esta es la mejor opción, ya que el comportamiento será el esperado, además si otra función en el controller necesita hacer uso de la función (bar), al estar en el archivo helper, se puede invocar sin mayor problema.
Archivo helper.js:
bar : function(component, event, helper) {
console.log('Paso 2');
}
Archivo controller.js:
({
foo : function(component, event, helper) {
console.log('Paso 1');
helper.bar(component, event, helper);
console.log('Paso 3');
}
})