simple jQuery Deferred example
function getData() {
var deferred = $.Deferred();
$.ajax({
'url': 'http://google.com',
'success': function(data) {
deferred.resolve('yay');
},
'error': function(error) {
deferred.reject('boo');
}
});
return deferred.promise();
}
$.when(getData()).done(function(value) {
alert(value);
});
getData().then(function(value) {
alert(value);
});