function loadImage(url) { var deferred = jQuery.Deferred(); var img = new Image(); img.src = url; img.onload = function () { deferred.resolve(img); }; img.onerror = function (e) { deferred.reject(e); }; return deferred; }