복붙노트

[ANGULAR] 진행하기 전에 루프가 완료하는 것의 가입을 기다리는 방법

ANGULAR

진행하기 전에 루프가 완료하는 것의 가입을 기다리는 방법

해결법


  1. 1.배열에서 모든 Observables를 수집하고 포크 join을 사용하여 모든 작업이 완료 될 때까지 기다릴 수 있습니다.

    배열에서 모든 Observables를 수집하고 포크 join을 사용하여 모든 작업이 완료 될 때까지 기다릴 수 있습니다.

    let observables: Observable[] = [];
    for (let i = 0; i < this.waypointIds.length; i++) {
        observables.push(this.categoryApi.getCategoryData(this.waypointIds[i]))
    }
    Observable.forkJoin(observables)
        .subscribe(dataArray => {
            // All observables in `observables` array have resolved and `dataArray` is an array of result of each observable
        });
    
  2. from https://stackoverflow.com/questions/44752086/how-to-wait-for-subscriptions-inside-a-for-loop-to-complete-before-proceeding by cc-by-sa and MIT license