Суть в том, что по частям нужно передать файл на бэк, все распилил на чанки, но очень хочется прикрутить отображение отправленных пакетов. Чанки лежат в массиве, метод отправки одного пакета тоже написал. Но как отправить последовательно что-то туплю. Прикреплю говнокод, который слепил:
for (let i = 1; i <= partsCounter;) {
this.sendChunk(chunks[i-1]).subscribe(data => {
console.log(`sendChunk ${i} status`, data);
i++;
});
}
private sendChunk(chunk: FileChunkDto): Observable<any> {
return this._formsDataImportClient.sendChunk(chunk).pipe(switchMap(data => {
if (data) {
return of(data);
}
return timer(1000).pipe(switchMapTo(this.sendChunk));
}))
}
ForkJoin - работает как промис all. Или почитай cancatMap - объединяет обсервы
Обсуждают сегодня