循环遍历带有偏移量的 API

Looping through an API with offsets

我正在使用一个 API,它仅限于在单个请求中返回 100 个项目 - 他们已经实现了偏移量,然后应该允许循环多个请求,但我无法理解如何组合两人

目前我正在使用这个 returns 100 项并为我提供我需要的所有数据等,但总共有大约 2,000 项,我需要将它们全部循环:

try {
    $all = RestClient::all(array("limit" => 100));
    foreach($all as $entry){
        //do something
}

catch(Exception $e) {
    print $e;
}

文档显示了如何使用偏移量的示例:

$resList = RestClient::all(array('limit'=>100));    
echo $resList->nextOffset();    
if($resList->nextOffset()) {     
   $resList = RestClient::all(array("limit" => 100, "offset" => $resList->nextOffset()));    
   echo $resList->nextOffset();
}

该示例没有显示任何循环,那么我的循环去哪里了?我需要多个循环吗?

如果我在第一个 $resList 之后添加一个循环,那么它会循环遍历这 100 个,但不会再循环,尽管我假设如果我将它添加到 if 中,那么它将永远不会被满足,因为永远不会定义偏移量?

如何使用偏移量遍历所有项目 - 实际上,合并两组代码?

$offset = 0;
while (true) {
    $resList = RestClient::all(array('limit'=>100, , "offset" => $offset));

    foreach($resList as $entry) {
        // do something
    }
    if (!$resList->nextOffset()) {
        brake;
    }
    $offset = $resList->nextOffset();
}