public function test_abc(){
        header("Content-Type: text/event-stream");
        header('X-Accel-Buffering: no');
     
  // 向前端发送初始化消息
        $this->sendEvent('message', '...');// 模拟一些处理任务
        for ($i = 0; $i < 10; $i++) {
            // 执行某些操作...            // 每次完成处理后向前端发送进度消息
           $this->sendEvent('message', "Task $i completed.");            // 刷新输出缓冲区,确保数据被及时发送到前端
            ob_flush();
            flush();            // 延时1秒
            sleep(1);
        }
        ob_end_flush();    // 处理完成后,向前端发送结束消息
        $this->sendEvent('message', 'DONE');

}

function sendEvent($event, $data) {
    echo "event: $event\n";
    echo "data: $data\n\n";
}

//前端代码

    startChat() {
                var that = this;
                // http://dev.jewelryhunt.net/index/test/test_abc
                const es = new EventSource("http://dev.jewelryhunt.net/index/test/test_abc")
                es.addEventListener("message", (event) => {
                    that.displayedMessage = event.data; // 将新消息保存在messages变量中
                });
            },

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部