I am calling a lightning action from a Jquery method. It used to work by putting the enqueue action inside $A.run() method.
$(function(){
var initialAction = component.get("c.getInitialRecord");
initialAction.setParams({
"Id": initialRecId
});
initialAction.setCallback(this, function(a) {
var initialRec = a.getReturnValue();
component.set("v.oppty", initialRec);
});
$A.run(function() {
$A.enqueueAction(initialAction);
});
})
However I noticed that for community users, salesforce is throwing error that $A.run() is not defined. So as per the documentation I am trying to use $A.getCallback() instead. But that does not invoke enqueueaction method. This does not work:
$(function(){
var initialAction = component.get("c.getInitialRecord");
initialAction.setParams({
"Id": initialRecId
});
initialAction.setCallback(this, function(a) {
var initialRec = a.getReturnValue();
component.set("v.oppty", initialRec);
});
$A.getCallback(function() {
$A.enqueueAction(initialAction);
});
})
Am I using $A.getCallback() function wrong? or missing something?