原版:
public function getList()
{
## 这里使用了协程来对结果进行加速
// 1. 用户展示数据(数据库查询)
$list = [
["id"=>1,"user"=>"dyuaib1","img"=>""],
["id"=>2,"user"=>"dyuaib2","img"=>""],
["id"=>3,"user"=>"dyuaib3","img"=>""],
["id"=>4,"user"=>"dyuaib4","img"=>""],
["id"=>5,"user"=>"dyuaib5","img"=>""],
["id"=>6,"user"=>"dyuaib6","img"=>""],
];
// 2. 做一些业务方面的操作(比如加入缓存 , 增加点击量等等) , 假设耗时3s
\Swoole\Coroutine::sleep(3);
echo date("Y-m-d H:i:s").PHP_EOL;
\Swoole\Coroutine::sleep(3);
echo date("Y-m-d H:i:s").PHP_EOL;
return $list;
}
结果如下
public function getList()
{
## 这里使用了协程来对结果进行加速
// 1. 用户展示数据(数据库查询)
$list = [
["id"=>1,"user"=>"dyuaib1","img"=>""],
["id"=>2,"user"=>"dyuaib2","img"=>""],
["id"=>3,"user"=>"dyuaib3","img"=>""],
["id"=>4,"user"=>"dyuaib4","img"=>""],
["id"=>5,"user"=>"dyuaib5","img"=>""],
["id"=>6,"user"=>"dyuaib6","img"=>""],
];
// 2. 做一些业务方面的操作(比如加入缓存 , 增加点击量等等) , 假设耗时3s
// \Swoole\Coroutine::sleep(3);
// echo date("Y-m-d H:i:s").PHP_EOL;
// \Swoole\Coroutine::sleep(3);
// echo date("Y-m-d H:i:s").PHP_EOL;
// 3. 加入协程
Co::create(function (){
\Swoole\Coroutine::sleep(3);
echo date("Y-m-d H:i:s").PHP_EOL;
});
Co::create(function (){
\Swoole\Coroutine::sleep(3);
echo date("Y-m-d H:i:s").PHP_EOL;
});
return $list;
}
结果如下
这样子可以看出来运行的流程 , 也可以在return 数据前做一个打印, 感兴趣的自行测试