Using Promise
by Neviton
JavaScript
console.log('%c', 'padding-left: 100%; border-top: solid 1px white');
function loadImage(imgId) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
var rnd = Math.random();
if (rnd > 0.35) {
console.log(imgId, ': RESOLVED');
resolve(imgId);
} else {
console.log(imgId, ': REJECTED');
reject(imgId);
}
}, 1000);
});
}
var imageCalls = [];
for (var i = 0; i < 2; i++) {
imageCalls.push(loadImage('img-' + i));
}
Promise.all(imageCalls).then(function(data) {
console.log('%cPASSED', 'background-color: green');
}).catch(function(data) {
console.log('%cFAILED', 'background-color: red');
});