Sunday 15 April 2012

javascript - AngularJS - how to create deferred object from image object -



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