Как реализовать http длинный опрос в Angular 2

1

У меня есть прецедент:

  • Пользователь выбирает видео для загрузки в свой профиль.
  • Угловой посылает запрос серверу node.js, который возвращает предварительно подписанный URL Amazon S3.
  • Браузер напрямую загружает файл на S3.
  • Elastictranscoder начинает транскодировать видео.
  • AWS-SNS следует конечной точке https, чтобы сообщить о завершении завершения завершения транскодирования node.js.

Как отразить этот факт, что видео теперь доступно на угловой стороне?

Я делаю что-то похожее на следующее, и он работает нормально, но я не уверен, правильно ли обрабатывается ошибка? Должен ли я делать что-то еще?

 startLp(): Observable<any> {
   return this.http
     .get("/getvideostatus?video-id=blah", { headers: this.headers })
     .map(res => {
       return res.json();
     })
     .catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}

Это всего лишь обычный HTTP-запрос, единственная разница в том, что сервер не сразу возвращает ответ.

Будет ли это действительным протоколом http long?

Теги:
angular
http

1 ответ

0

Это то, что я закончил:

public startLp(): Observable<any> {
let that = this;
let doLp = function(): Observable<any> {
  return that.http
    .get("/getvideostatus?video-id=blah", { headers: that.headers })
    .map(res => {
      return res.json().data
    })
    .catch((error: any) => {                    
      return doLp();
    });
};

return doLp();
}
  • 3
    это на самом деле LP? это выглядит нормальным http запросом для меня. Как вы делаете так, чтобы http-запрос оставался открытым в течение необходимого количества времени и слушал изменения?

Ещё вопросы

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