Можем ли мы подписаться на более чем одну вещь, используя http-запрос на angular? - PullRequest
0 голосов
/ 15 февраля 2019

Отправка данных формы с помощью углового http-клиента, и теперь я хочу подписаться не только на событие, но и на данные, возвращаемые с сервера.Событие используется для отображения индикатора выполнения, а данные - это то, что я хочу отобразить для пользователя.Вот фрагмент кода:

const req = new HttpRequest('POST', url, newFormData, {
    reportProgress: true,
    responseType: 'text' as 'json'
  });

  // create a new progress-subject for every file
  const progress = new Subject<number>();

  // send the http-request and subscribe for progress-updates

  this.http.request(req).subscribe(event => {
    if (event.type === HttpEventType.UploadProgress) {
      // calculate the progress percentage
      const percentDone = Math.round(100 * event.loaded / event.total);

      // pass the percentage into the progress-stream
      progress.next(percentDone);
    } else if (event instanceof HttpResponse) {
      // Close the progress-stream if we get an answer form the API
      // The upload is complete
      progress.complete();
    }
  });

Так что здесь я могу подписаться на события и их работу, но я также хочу получить данные ответа, которые сервер отправляет обратно.Есть ли способ подписаться как на событие, так и на объекты данных.Пожалуйста, помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...