protected function doIteration()
{
if ($this->isFreeze) {
return;
}
$args = $this->args;
array_unshift($args, $this->cursor);
$args[] = function ($redis) {
$this->conn = $redis;
$this->cursor = $redis->result[0];
$func = $this->cb;
$func($redis);
if (!is_numeric($redis->result[0]) || !$redis->result[0] || $this->limit && ++$this->num > $this->limit) {
$func = $this->cbEnd;
$func($redis, $this);
return;
}
$this->doIteration();
};
$func = [$this->conn, $this->cmd];
$func(...$args);
}