отправка непрерывных текстовых данных из кода Java в HTML через HTTP-запрос

0

Я работаю над разработкой приложения, где я делаю HTTP-запрос через угловой, и затем этот запрос получен кодом Java, код выполняет свои действия и генерирует журналы порядка 50-60 строк, создавая одну строку каждые секунды. Я хочу показать эти журналы на моей странице html по мере их создания, прямо сейчас я собираю все журналы и отображаю их после завершения запроса. Это можно сделать в непрерывном режиме?

JAVA CODE

Java-код создает массив журналов размером 50-60, для завершения операции требуется 60-90 секунд, и я отправляю массив с кодом ниже, после его преобразования в JSON

response.getWriter.write(applogs)

КОД JAVASCRIPT

var httpPostData = function (postparameters,postData){

return $http ({           
method  : 'POST',
url     : URL,
params  : postparameters,
headers: headers,
data    : postData
}).success (function (responseData){
     return responseData.data;
})
}

var addAppPromise = httpPostData (restartAppParams,app);
    addAppPromise.then(function (logs){
      $scope.logs = logs.data;
})         

Код HTML

<span ng-repeat="log in logs">{{log}}<br></span>
  • 0
    Можете ли вы разместить конечную точку websocket в вашем javacode, а затем использовать ее, используя что-то вроде angular-websocket? github.com/AngularClass/angular-websocket

1 ответ

0

У вас есть как минимум два варианта:

  1. (Uglier, но быстрее и проще) Сделайте свою услугу незамедлительно (не ждите появления "материала") и создайте вторую службу, которая вернет журналы, созданные до сих пор. Затем в JS выполните опрос: вызовите эту вторую услугу короткими, фиксированными интервалами и обновлением.
  2. Используйте EventSource для получения событий, отправленных сервером. Вы также можете использовать веб-порты, но, поскольку вы хотите, чтобы ваш сервер мог кормить клиента, EventSource должно быть достаточно. Однако имейте в виду, что для этого API потребуются полисы для IE/Edge и специальная обработка на стороне сервера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню