首页 > 解决方案 > 如何处理内部可观察对象?

问题描述

在我的 Angular 应用程序中是一个数组recordlist。该数组包含其他对象数组。我现在要做的是在recordlist数组中的每个嵌套元素上处理 http.post (通过函数)。

this.recordlist是一个 Observable,它可以工作并在我的应用程序中显示为表格。

/**
 *
 */
save() {
    this.recordlist
        .pipe(
            mergeMap((response: any) => response.flat()),
            map((response: any) => {
                console.log('---', response);
                return this.skaterService.setSkaterSeasonBestTimes(response);
            })
        )
        .subscribe(
            response => {},
            error => {},
            () => {
                console.log('.....done');
            }
        );
    }

/**
 *
 */
setSkaterSeasonBestTimes(value: SkaterBesttime): Observable<any> {
    return this.restService.post('/skater/besttimes', value).pipe(
        map((response: any) => {
            console.log('+++', response);
            return new SkaterBesttime(response, true);
        })
    );
}

现在的问题是内部setSkaterSeasonBestTimes(...)没有处理。我希望有人能给我一个有用的提示和解决方案。

标签: angularrxjsobservable

解决方案


更改保存方法:-

save() {
    this.recordlist
        .pipe(
            mergeMap((response: any) => {
                let res = response.flat().map((item) => this.setSkaterSeasonBestTimes(item));
                return forkJoin(res);
            })
        )
        .subscribe(
            response => {},
            error => {},
            () => {
                console.log('.....done');
            }
        );
    }

推荐阅读