Open sisy110 opened 4 hours ago
task方法能否提供一下?
declare(strict_types=1);
namespace app\controller;
use support\Request;
use Webman\Http\Response;
use Workbunny\WebmanCoroutine\Utils\Coroutine\Coroutine;
use Workbunny\WebmanCoroutine\Utils\WaitGroup\WaitGroup;
class CoroutineController {
public function index(Request $request): Response {
$timeOne=microtime(true);
$waitGroup = new WaitGroup();
// 协程1
$waitGroup->add();
$coroutine1 = new Coroutine(function () use ($waitGroup) {
echo 1 . PHP_EOL;
$waitGroup->done();
});
// 协程2
$waitGroup->add();
$coroutine2 = new Coroutine(function () use ($waitGroup) {
echo 2 . PHP_EOL;
$waitGroup->done();
});
// 协程3
$waitGroup->add();
$coroutine3 = new Coroutine(function () use ($waitGroup) {
echo 3 . PHP_EOL;
$waitGroup->done();
});
$waitGroup->wait();
echo 'done' . PHP_EOL;
$timeTwo=microtime(true);
$totalTime=$timeTwo-$timeOne;
echo'[x][总执行时间]'.$totalTime.PHP_EOL;
return json(['总执行时间'=>$totalTime]);
}
}
代码如上 任然报错
Warning: [Fatal error in R16] Uncaught Error: Call to a member function getId() on null in /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workbunny/webman-coroutine/src/Utils/Coroutine/Handlers/SwowCoroutine.php:24
Stack trace:
#0 [internal function]: Workbunny\WebmanCoroutine\Utils\Coroutine\Handlers\SwowCoroutine->Workbunny\WebmanCoroutine\Utils\Coroutine\Handlers\{closure}()
#1 /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workbunny/webman-coroutine/src/Utils/Coroutine/Handlers/SwowCoroutine.php(22): Swow\Coroutine::run()
#2 /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workbunny/webman-coroutine/src/Utils/Coroutine/Coroutine.php(54): Workbunny\WebmanCoroutine\Utils\Coroutine\Handlers\SwowCoroutine->__construct()
#3 /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/app/controller/coroutineController.php(33): Workbunny\WebmanCoroutine\Utils\Coroutine\Coroutine->__construct()
#4 /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workerman/webman-framework/src/App.php(322): app\controller\CoroutineController->index()
#5 /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workerman/webman-framework/src/App.php(169): Webman\App::Webman\{closure}()
#6 /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workerman/workerman/Connection/TcpConnection.php(646): Webman\App->onMessage()
#7 [internal function]: Workerman\Connection\TcpConnection->baseRead()
#8 /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workbunny/webman-coroutine/src/Events/SwowEvent.php(90): call_user_func()
#9 [internal function]: Workbunny\WebmanCoroutine\Events\SwowEvent->Workbunny\WebmanCoroutine\Events\{closure}()
#10 {main}
thrown in /mnt/d/other/vm2/php_code/saiadmin/saiadmin-php/vendor/workbunny/webman-coroutine/src/Utils/Coroutine/Handlers/SwowCoroutine.php on line 24
问题描述
代码如下
报错信息