IT:AD:Promise:HowTo:Invoke Async Success and Failure Handlers
Summary
The following demonstrates invoking a method and using JQuery deferred and promise
to invoke success/failure methods.
Process
THe following uses defined success/failure methods and implicitly passing args. Makes for cleaner looking code.
$(function(){
DemoC();
});
function DemoC(){
SimulationUsingPromises(5).then(DoSuccess, DoFail);
}
function SimulationUsingPromises(data){
//setup a deferred object:
var deferred = $.Deferred();
// Take a second, then invoke a callback:
window.setTimeout(
function() {
if (Math.round(Math.random())==1){
//invoke resolve, passing results:
deferred.resolve(data+1);
}else{
//invoke reject, passing results:
deferred.reject(data-1);
}
},1000);
//important: pass back the promise handle:
return deferred.promise();
}
//The defined callback method:
function DoSuccess(data){$("#r").html("Success: "+data);}
//The defined callback method:
function DoFail(data){$("#r").html("Fail: "+data);}