@Stricker

AngularJS и зависимость от коннекта к серверу

Приветствую, проблема такая, есть сервис для работы с WebSocket и почти все приложение завязано на нем. Как сделать так, чтобы приложение работало лишь тогда - когда подключение осуществлено? Т.е. при запуске приложение ждать коннекта, лишь потом взаимодействовать с приложением?

Просто напросто вот этот сервис - https://github.com/ZloyDyadka/websocket-angular/bl...

И когда к примеру в контроллере вызываю -
app.controller('headerCtrl', ['$scope', 'ws', '$q', function($scope, ws, $q) {
    ws.call({
        "method"    : "getCountMsg",
        "params"    : ""
    }).then(function(d){
            $scope.countMsg = d;
        })
}]);

Соединение устанавливается не мгновенно, а вот запрос к серверу отсылает сразу же - на что получает ошибку что коннекта нет.

Т.е. мне нужно как-бы сделать работу контроллеров в зависимости от того есть ли подключение
  • Вопрос задан
  • 2592 просмотра
Решения вопроса 1
maxaon
@maxaon
Плохая библиотека, поищите что-то лучше.
Метод call должен всегда возвращать промис, а не только тогда, когда произошло подключение (ready===true).
К тому же, этот код захламляет глобальную область видимости переменной ready. Также используется console вместо сервиса $log.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы