Skip to content

Instantly share code, notes, and snippets.

@nicksheffield
Last active September 25, 2015 04:42
Show Gist options
  • Select an option

  • Save nicksheffield/a826e2d08e192ea32fd8 to your computer and use it in GitHub Desktop.

Select an option

Save nicksheffield/a826e2d08e192ea32fd8 to your computer and use it in GitHub Desktop.
AngularJS Socket.io module
var ngSocket = angular.module('ngSocket', []);
ngSocket.factory('socket', ['$rootScope', function ($rootScope) {
var socket = io.connect(location.origin+':9001');
return {
on: function (eventName, callback) {
socket.on(eventName, function () {
var args = arguments;
$rootScope.$apply(function () {
callback.apply(socket, args);
});
});
},
emit: function (eventName, data, callback) {
socket.emit(eventName, data, function () {
var args = arguments;
$rootScope.$apply(function () {
if (callback) {
callback.apply(socket, args);
}
});
})
}
}
}])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment