Я столкнулся со сценарием, в котором мне нужно было сделать внутренний вызов для всех идентификаторов в массиве объектов.

Поэтому я подумал перебирать массив make call один за другим. Что, очевидно, было неправильным, поскольку вызов был асинхронным, поэтому он возвращал результат позже.

В результате я получил пустой результирующий массив.

Код без forkjoin

константный массив результатов: любой = [];

this.sequenceIdArray.forEach(

(specId: любой, индекс: число) =› {

this.projectService.getIdDetails(

index,specId).subscribe((data)=›{

resultArray.push(данные)

})

});

this.finalResult = […resultArray]; // Получал пустой массив в resultArray

Forkjoin пришел на помощь :D

Где мы получим результат для всех идентификаторов в массиве (просто правильно: P)

Код с forkjoin

const callArray: any = [];

this.sequenceIdArray.forEach(

(specId: любой, индекс: число) =› {

callArray.push(

this.projectService.getIdDetails(

индекс,specId));

});

forkJoin(callArray).subscribe((data) =› {

this.finalResult = […данные]; // мы получим данные для всех идентификаторов в массиве данных

})

Надеюсь, это будет полезно для всех вас.

Продолжай кодить :)