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');
});