forkjoin不返回响应

时间:2019-01-16 18:23:47

标签: angular rxjs

我有一种执行请求的方法。请求被触发,但是我无法获得响应。

saveData(bannerDataFiles: BannerDataFile[]) {
        const bannerObservables = [];
        bannerDataFiles.forEach(bannerDataFile => {
            bannerObservables.push(this.uploadService.upload(bannerDataFile.file, '/original/banner/')
                 .pipe(catchError(err => of(err)))
                .pipe(mergeMap((fileName) => {
                    bannerDataFile.bannerData.link = fileName['Location'];
                    return this.http.post(this.url, bannerDataFile.bannerData);
                })));
        });
        return Observable.forkJoin(...bannerObservables).subscribe((data) => {
            console.log(data);
        });

    }

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。所有可观察对象都需要完成才能完成forkjoin。以我为例,uploadService中的可观察对象还不完整。发出完整后,我可以得到响应。

答案 1 :(得分:0)

Forkjoin等待一切完成。检查您的bannerObservables或uploadService是否正常工作,是否完成。