Example 4-18. Deferred throws synchronous errors

This example has been renamed from Simple deferred object in jQuery


function loadImage(url) {
	var deferred = jQuery.Deferred();
	// ...
	return deferred.promise();
}

function loadImageWithoutDeferred(url) {
	return new Promise(function resolver(resolve, reject) {
		var image = new Image();
		image.src = url;
		image.onload = function () {
			resolve(image);
		};
		image.onerror = reject;
	});
}