DeferredFailResolve
by Jose Montero
HTML
<div id="process">
</div>
JavaScript
var DeferredObj = (function(){
return {
init : function()
{
this.validateCheckNumber("12345")
.then(
function()
{
return this.savePaymentAdvice();
}.bind(this)
).then(
function()
{
return this.savePaymentAdviceLineItems();
}.bind(this)
).done(
function() {
document.querySelector("#process").textContent = "All completed!";
}.bind(this)
).fail(
function(error)
{
var log = "PayInvoice.onSave - error: " + error;
document.querySelector("#process").textContent = log;
}.bind(this)
);
},
validateCheckNumber : function(checkNumber)
{
var deferred = $.Deferred();
setTimeout(() => {
document.querySelector("#process").textContent = "Validating Check Number: "+checkNumber;
deferred.resolve(); }, 2000);
return deferred.promise();
},
savePaymentAdvice : function()
{
var deferred = $.Deferred();
setTimeout(() => {
document.querySelector("#process").textContent = "Saving Payment Advice";
deferred.resolve(); }, 3000);
return deferred.promise();
},
savePaymentAdviceLineItems: function()
{
var deferred = $.Deferred();
setTimeout(() => {
document.querySelector("#process").textContent = "Saving Payment Line Item";
deferred.resolve();
}, 5000);
return deferred.promise();
}
};
})();
DeferredObj.init();