javascript - Getting promise instead of callback -


i using provider mentioned in url, working fine using callback.

i trying return promise instead on callback , have added onpromise method, modified code below:

this.$get = function essesocketfactory($rootscope,$q) {      var socket = io.connect(iourl);     var defered = $q.defer();     return {         on: function on(event, callback){             socket.on(event, function(){                 var args = arguments;                 $rootscope.$apply(function () {                     callback.apply(socket, args);                 });             });         },         onpromise: function onpromise(event){           socket.on(event,function(){             $rootscope.$apply(function () {               defered.resolve(socket);             });           });           return defered.promise;         }, 

the problem facing in controller getting data once, onpromise : defered.resolve(socket); method executed whenever data pushed server. after injecting socket controller calls

socket.onpromise('status').then(function(socket){     console.log(socket); }); 

the console.log called once. socket printed in console using promise , callback different. callback prints data promise gives me socket object have lots of methods , other things in (not data).


Comments