2017-02-05 2 views
0

말하자면 데이터베이스에 100 개가 넘는 항목이 있으며 정확한 번호를 알 수 없습니다. 내 백엔드 API는 시작 항목 ID와 필요한 항목 수를 제공하면 원하는 수의 항목을 제공합니다. 항목 ID가 0에서 시작하여 1 씩 증가합니다.Angular2로 반복되는 HTTP 요청

클라이언트 측에서 처리하기 위해 일괄 처리로 배치 (예 : 일괄 처리 당 10 개 항목)를 가져 오려고합니다. 한 배치를 처리 한 후 다음 배치를 가져 오려고합니다.

Angular 2 프로젝트에서 RxJS을 사용하여 이것을 수행하는 가장 좋은 방법은 무엇입니까?

답변

1

RxJS에서 Subject을 조사하고 싶습니다. Angular2 Service에서 하나의 결과를 가져와 다음 페이지를 가져 와서 주제의 .next(<value>) api를 사용하여 UI로 푸시 할 수 있습니다. 그런 다음 공개 관찰 대상을 구독 할 구성 요소에 공개하거나 결과를 표시 할 수 있도록 템플릿의 비동기 파이프를 사용합니다.

제목이있는 서비스는 현재있는 번호를 추적 할 수 있으므로 fetchNextPage 유형의 메소드를 호출 할 수 있습니다.이 유형은 제목을 통해 다음 결과 묶음을 가져 오기 위해 호출 할 수 있습니다. UI.

그래서 이런 식으로 뭔가 :

아마 fetchfetchNextPage 같은 방법은 데이터뿐만 아니라 얻는 주제의 .asObservable()

구성 요소 인 노출 results 또는 무언가를 수집 할 수있는 주제를 가지고

주 사용 서비스 서비스를 삽입 한 다음 서비스의 results Observable에 대한 구독을 설정합니다. 구성 요소의 ngOnInit에서 서비스 fetch으로 전화 한 다음 UI에서 필요하다고 판단되면 서비스에서 fetchNextPage으로 전화하여 더 많은 데이터를로드하십시오.

괜찮습니다.