소스 검색

Revert "Abort paging when there zero results or zero page elements"

This was precisely the wrong thing to do on account of API endpoints
incapable of returning an accurate count of total results.
Jonathan D. Storm 1 일 전
부모
커밋
44f80f4264
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      v6/depager.go

+ 3 - 3
v6/depager.go

@@ -121,9 +121,9 @@ func (p *pager[T]) iteratePages() <-chan Page[T] {
 			if p.cnt == 0 {
 				p.cnt = page.Count()
 			}
-			// We abort when there are zero results or zero
-			// elements in the page.
-			if p.cnt == 0 || len(page.Elems()) == 0 {
+			// When page.Count() is zero, we must rely on the
+			// absence of returned results to know when to stop.
+			if p.cnt == 0 && len(page.Elems()) == 0 {
 				p.pagePool <- page
 				return
 			}