javascript - AngularJS - how to create deferred object from image object -
i'm trying create deferred object simple image object creation below:
var image = new image(); image.src = 'some url'; image.onload = function() { // code }
now... how create deferred object using $q library within angularjs? possible?
i assume there factory, planning set function. then:
.factory('utils', function($q) { homecoming { createimage: function(src) { var deferred = $q.defer(), image = new image(); image.onload = function() { deferred.resolve(image); }; image.src = src; homecoming deferred.promise; } }; });
then utilize usual:
utils.createimage('/assets/images/big-logo.png').then(function(imgobj) { console.log(imgobj); });
angular 1.3. since angular 1.3 version promise service $q
allows new syntax similar native promise
constructor. above function can rewritten:
createimage: function(src) { homecoming $q(function(resolve, reject) { var image = new image(); image.onload = function() { resolve(image); }; image.src = src; }); }
you can utilize both version 1.3.
and simple demo: http://plnkr.co/edit/mbqedphoaurfd6jwhtji?p=preview
javascript angularjs deferred
No comments:
Post a Comment