Многократный angular запрос - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь получить доступ к своему серверу 5 раз, но при появлении ошибки я хочу остановить свою подписку в angular. Ниже мой код в angular. Любая помощь будет высоко оценена!

Мой component.ts

private getImageUrl(deviceId: string){
    for (let i=0; i<5; i++){
      this.deviceService.getImageURL(deviceId,i)
      .subscribe((res)=>{
          console.log(res);
        }, error =>{
          console.error(error);

        });

      }
  }

Мой device.services

public getImageURL(deviceId:string, imageId: Number): Observable<any>{
    return this.communication.sendApi(
      `resources/${deviceId}/images/${imageId}`,
      {method: 'get'}
    );
  }

Или, может быть, как позволить моей наблюдаемой go в следующий запрос только после завершения первого запроса.

1 Ответ

0 голосов
/ 21 февраля 2020

Вы можете использовать что-то вроде кода ниже.

import { from } from 'rxjs';
import { mergeMap } from 'rxjs/operators';

... code omitted

   from([1,2,3,4,5])
    .pipe(mergeMap((value) => this._http.get(
      `https://jsonplaceholder.typicode.com/todos/${value}`
    )
   ),
  )
  .subscribe(
    (response) => {
     console.log(response);
    },
    (error) => {
      console.error(error);
    }
  );

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