Deferred tesing
by Bjolja
JavaScript
function executeDeffered() {
var ongoing = [];
var deff = $.Deferred();
var defprom = deff.promise();
defprom = defprom.then(function () {
var subDeff = $.Deferred();
setTimeout(function () {
console.log('Detta sker efter 3 sekunder');
subDeff.reject(5);
}, 3000);
return subDeff;
});
defprom = defprom.then(function (result) {
return result * 3;
});
deff.resolve();
return defprom;
}
$(function () {
var ongoing = [];
ongoing.push((function () {
var deff = $.Deferred();
setTimeout(function () {
console.log('Detta sker efter 3 sekunder');
deff.reject(5);
}, 3000);
return deff;
})());
ongoing.push((function () {
var deff = $.Deferred();
setTimeout(function () {
console.log('Detta sker efter 5 sekunder');
deff.resolve(5);
}, 5000);
return deff;
})());
$.when.apply($, ongoing).always(function (result) {
console.log('Klar');
console.log(result);
});
});