This commit is contained in:
2020-09-14 10:58:40 +08:00
parent a752d28b2f
commit 156ae14e7c
+27 -5
View File
@@ -7,6 +7,8 @@ namespace Database;
use Snowflake\Abstracts\Component; use Snowflake\Abstracts\Component;
use Closure; use Closure;
use Exception; use Exception;
use Snowflake\Snowflake;
use Swoole\Coroutine;
/** /**
* Class Pagination * Class Pagination
@@ -111,11 +113,9 @@ class Pagination extends Component
return; return;
} }
[$length, $data] = $this->get(); [$length, $data] = $this->get();
if ($param !== null) {
call_user_func($this->_callback, $data, $param); $this->runner($data, $param);
} else {
call_user_func($this->_callback, $data);
}
unset($data); unset($data);
if ($length < $this->_limit) { if ($length < $this->_limit) {
return; return;
@@ -124,6 +124,28 @@ class Pagination extends Component
} }
/**
* @param $data
* @param $param
*/
private function runner($data, $param)
{
if (Snowflake::inCoroutine()) {
if ($param !== null) {
Coroutine::create($this->_callback, $data, $param);
} else {
Coroutine::create($this->_callback, $data, $param);
}
} else {
if ($param !== null) {
call_user_func($this->_callback, $data, $param);
} else {
call_user_func($this->_callback, $data);
}
}
}
/** /**
* @return array|Collection * @return array|Collection
*/ */