나는 이것을 달성하는 것이 다소 쉬워야한다고 생각하지만 문제를 해결하는 방법을 알아내는 데 어려움을 겪고있다.RxJS를 사용하여 일괄 처리 하시겠습니까?
내가 가진 것은 JSON 개체의 배열을 반환하는 API입니다. 이 객체들을 단계별로 조사해야하고, 각 객체에 대해 다른 AJAX 호출을해야합니다. 문제는 각 AJAX 호출을 처리하는 시스템이 한 번에 두 개의 활성 호출 만 처리 할 수 있다는 것입니다 (CPU 사용량이 많은 데스크톱 응용 프로그램으로 연결되는 작업 임).
RxJS (버전 5 또는 4 사용)를 사용하여이 작업을 수행하는 방법이 궁금합니다.
편집 : 또한 동시에 진행하는 체인 체인을 가질 수 있습니까? 작동하지 않는 것 그러나
Rx.Observable.fromPromise(start())
.concatMap(arr => Rx.Observable.from(arr))
.concatMap(x => downloadFile(x))
.concatMap((entry) => processFile(entry))
.concatMap((entry) => convertFile(entry))
.concatMap((entry) => UploadFile(entry))
.subscribe(
data => console.log('data', new Date().getTime(), data),
error => logger.warn('err', error),
complete => logger.info('complete')
);
: 즉
Downloading File: 1 Processing File: 1 Converting File: 1 Uploading File: 1 Downloading File: 2 Processing File: 2 Converting File: 2 Uploading File: 2 Downloading File: 3 Processing File: 3 Converting File: 3 Uploading File: 3
내가 좋아하는 일을 시도했습니다. 예를 들어, downloadFile은 processFile, convertFile 및 uploadFile이 모두 완료 될 때까지 기다리지 않고 이전 파일이 완료되는 즉시 다음 파일이 다시 실행됩니다.
http://xgrommx.github.io/rx-book/content/observable/observable_instance_methods/subscribe.html – cport1
@ cport1 - 연결된 예제는 비동기 작업 형식을 기다리지 않고 차례로 실행됩니다. 그건 내가 묻는 것과 다르다. – NRaf