用http方式实现websocket,如chatGPT时时打字效果,原生方式:fetch+sse+post
创始人
2024-11-10 03:40:44
0

用http方式实现websocket,如chatGPT时时打字效果,原生方式:fetch+sse+post

fetch实现stream、原生fetch+sse+post

fetch 本身不直接支持流式输出,但你可以使用 ReadableStream 和 TextDecoder 等 Web Streams API 来实现类似的效果。

后端:比如python, php, java 等等都行...   核心是前端,在下面会有完整展示

from fastapi import FastAPI, Response from fastapi.responses import StreamingResponse import json import time from fastapi.middleware.cors import CORSMiddleware #解决跨域 from fastapi import FastAPI, File, UploadFile,Form,Request # from sse_starlette.sse import EventSourceResponse   app = FastAPI()   # 假设这是你想按事件流形式发送的JSON数据 data = {     "messages": [         {"text": "Hello, 1!", "timestamp": "2021-01-01T12:00:00"},         {"text": "Hello, 2!", "timestamp": "2021-01-02T12:00:01"},         {"text": "Hello, 3!", "timestamp": "2021-01-02T12:00:02"},     ] }  def generate_json_stream(data):     # 分割JSON数据,并逐个发送     for message in data["messages"]:         json_str = json.dumps(message)         yield json_str.encode("utf-8") #发送当前值给前端         time.sleep(1)  # 模拟延时   # 配置 CORSMiddleware 跨域 app.add_middleware(     CORSMiddleware,     allow_origins=["*"],        # 允许访问的源     allow_credentials=True,     # 支持 cookie     allow_methods=["*"],        # 允许使用的请求方法     allow_headers=["*"]         # 允许携带的 Headers )  @app.post("/stream-json") async def stream_json( request: Request,foo: str = Form(default='') ):            # 获取json         json_data = await request.json()     getHeader = request.headers     print('----1-----',json_data,getHeader)      # return EventSourceResponse(generate_json_stream(data), media_type="text/event-stream")     return StreamingResponse(generate_json_stream(data), media_type="text/event-stream")    if __name__ == "__main__":     import uvicorn     uvicorn.run(app, host="0.0.0.0", port=16887) 

核心是前端:

     原生fetch+sse+post       

相关内容

热门资讯

第八分钟辅助!嗨动互动辅助,确... 第八分钟辅助!嗨动互动辅助,确实是真的有辅助挂(竟然有挂)1、操作简单,无需嗨动互动辅助手机版透视脚...
截至目前!约局吧德州可以透视吗... 截至目前!约局吧德州可以透视吗,佛手在线有挂吗,阶段教程(有挂教学)1、每一步都需要思考,不同水平的...
6分钟辅助!游戏茶苑辅助,原来... 6分钟辅助!游戏茶苑辅助,原来真的是有辅助软件(今日头条)1、每一步都需要思考,不同水平的挑战会更加...
最新消息!wepoker有透视... 最新消息!wepoker有透视底牌吗,wepoker免费脚本弱密码,法子教程(有挂总结)亲,关键说明...
三分钟辅助!wepoker透视... 三分钟辅助!wepoker透视脚本下载,总是是真的有辅助器(有挂工具)1、wepoker透视脚本下载...
出乎意料的是!大菠萝免费辅助,... 出乎意料的是!大菠萝免费辅助,wepoker透视脚本免费下载,指南教程(有挂助手)1.wepoker...
第九分钟辅助!微信多乐辅助,竟... 第九分钟辅助!微信多乐辅助,竟然有辅助技巧(有挂详细)进入游戏-大厅左侧-新手福利-激活码辅助透视技...
第三方辅助!wepoker私局... 第三方辅助!wepoker私局代打,we poker辅助器v3.3,总结教程(有挂助手)一、we p...
第一分钟辅助!吉利比鸡辅助,都... 第一分钟辅助!吉利比鸡辅助,都是有辅助方法(确实有挂)进入游戏-大厅左侧-新手福利-激活码辅助透视技...
黑科技技巧!hhpoker是正... 黑科技技巧!hhpoker是正品吗,aapoker怎么设置提高好牌几率,法门教程(有挂攻略)1、打开...