问一下reactphp异步的问题

$browser = new Browser();
try {
   $browser->get('http://127.0.0.1:8888/api.php/test/test3');
    for ($i = 0; $i < 50000; $i++) {
        echo $i . PHP_EOL;
    }
} catch (\Throwable $e) {
    echo $e->getMessage();
}

我上面的这个请求实际发出要等到循环结束后,我的断点才收到这个请求,有没有方法让他立即请求出去,不要等待后面的阻塞

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 5

你的断点所在的程序和这个请求是不是在同一个进程执行的,是的话没办法,你的断点等待你的程序执行完才能执行

3周前 评论
renji566 (楼主) 3周前

这个写法没看出来有用reactphp的异步 for循环也是正常的阻塞

3周前 评论
renji566 (楼主) 3周前

参考这个,博客:ReactPHP - 使用异步 HTTP 并行下载多个文件 需要使用到事件循环处理。

// 创建 Loop 事件循环
$loop = React\EventLoop\Loop::get();

// 创建 Browser 用来发起 HTTP 请求
$client = new React\Http\Browser($loop);

///. ...... 具体事情

/// ..... 不阻塞后面执行


// 运行事件循环
$loop->run();
2周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!