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
Post a Comment