Is there any better way to handle errors that comeback from the setCallBack function for Apex calls in Aura components?
Maybe a better way to get rid of some of the elses I have in in my logic?
action.setCallback(this, function(response) {
component.set("v.Spinner", false);
var state = response.getState();
if (state === "SUCCESS") {
var record = response.getReturnValue();
var message = "The record has been created successfully: "+record.Name;
component.find('notifLib').showToast({
"variant":"success",
"title": "Record clone.",
"mode":"pester",
"message": message
});
var navEvt = $A.get("e.force:navigateToSObject");
navEvt.setParams({
"recordId": record.Id
});
navEvt.fire();
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
var resultsToast = $A.get("e.force:showToast");
resultsToast.setParams({
title : "Record clone.",
type : "error",
message :" Error message: " + errors[0].message
});
resultsToast.fire();
}
else {
console.log("Unknown error");
}
}
else {
console.log("Unknown error");
}
}
else {
console.log("Unknown problem, response state: " + state);
}
});
throw new AuraHandledException('error detected.');