RxJS-POST多部分文件

RxJS-POST多部分文件,post,rxjs,multipart,Post,Rxjs,Multipart,我正在做一篇关于多部分文件的文章。当文件较小时(2个50kb的文件)。一切正常。 如果文件较大(10个500kb的文件),则无法正常工作。 我认为原因是帖子需要一段时间才能返回结果 首先,我通过调用POST的merge来合并两个ob。 其次,我通过ConmbineLastUploadDocumentsSaved和behaviorSubject操作uploadDocumentGetDetailsAction获得uploadDocumentDetails$ 由于调用fast uploadDocume

我正在做一篇关于多部分文件的文章。当文件较小时(2个50kb的文件)。一切正常。 如果文件较大(10个500kb的文件),则无法正常工作。
我认为原因是帖子需要一段时间才能返回结果

首先,我通过调用POST的merge来合并两个ob。 其次,我通过ConmbineLastUploadDocumentsSaved和behaviorSubject操作uploadDocumentGetDetailsAction获得uploadDocumentDetails$

由于调用fast uploadDocumentGetDetailsAction,POST尚未完成

在POST首先完成后,我应该如何实现obs以获得GET

  uploadDocumentsSaved$ = merge(
    this.uploadedDocuments$,
    this.saveAction$
      .pipe(
        concatMap(uploadDocument => {
          return  this.saveUploadDocuments(uploadDocument);
        })
      ))
      .pipe(
        scan((uploadDocuments: UploadDocument[], uploadDocument: UploadDocument) =>
          this.syncUploadDocuments(uploadDocuments, uploadDocument)
        ),
        shareReplay(1)
    );

  uploadDocumentDetails$ = combineLatest([
    this.uploadDocumentsSaved$,
    this.uploadDocumentGetDetailsAction$
  ]).pipe(
    map(([uploadedDocuments, selectedUploadedDocument]) =>
      uploadedDocuments.find(uploadedDocument => uploadedDocument.type = selectedUploadedDocument)
    ),
    switchMap(uploadDocument => this.uploadDocumentDetailsUrl(uploadDocument.token, uploadDocument.type)),
    shareReplay(1),
  );

我不确定我是否完全理解所显示的代码的作用,但我希望这样做:

  uploadDocumentsSaved$ = merge(
    this.uploadedDocuments$,
    this.saveAction$
      .pipe(
        concatMap(uploadDocument => this.saveUploadDocuments(uploadDocument)),
        concatMap(uploadDocument => this.uploadDocumentDetailsUrl(uploadDocument.token, uploadDocument.type))
      ))
      .pipe(
        scan((uploadDocuments: UploadDocument[], uploadDocument: UploadDocument) =>
          this.syncUploadDocuments(uploadDocuments, uploadDocument)
        ),
        shareReplay(1)
    );
每次saveAction发生时,它都会首先调用
saveUploadDocuments
(我假设这是post)然后调用
uploadDocumentDetailsUrl