2
Я использую angular-socket-io, но перед началом работы с интерфейсом socket.io вам необходимо пройти аутентификацию в приложении. I followed this method.AngularJS socket.io переадресация событий с отложенным обещанием
Но мне нужно использовать функцию пересылки событий на заводе as shown here так:
socket.forward("event");
Как я могу добавить пересылку в моей фабрике?
.factory('socket', function($rootScope, $timeout, socketFactory, $q, $log) {
// create a promise instance
var socket = $q.defer();
// listen for the authenticated event emitted on the rootScope of
// the Angular app. Once the event is fired, create the socket and resolve
// the promise.
$rootScope.$on('authenticated', function() {
// resolve in another digest cycle
$timeout(function() {
var token = window.localStorage["socket_token"];
var token_query = 'token=' + token;
var newSocket = (function() {
return socketFactory({
ioSocket: io.connect('http://example.com:3000', {
query: token_query
})
});
})();
socket.resolve(newSocket);
});
});
return socket.promise
});
да это было так просто. – lilbiscuit
посмотреть, можете ли вы помочь с [этой связанной проблемой] (http://stackoverflow.com/questions/35044402/angularjs-not-executing-deferred-promise-using-angular-socket-io) – lilbiscuit