当前位置: 首页 > news >正文

网站制作公司 深圳南召seo快速排名价格

网站制作公司 深圳,南召seo快速排名价格,delphi做网站,做企业网站需要准备什么前言 最近我们公司也是在做认知助手,大模型相关的功能,正在做提示词,机器人对话相关功能。想要提高用户体验,使用SSE请求模式,在不等数据完全拿到的情况下边拿边返回。 之前做过一版,但不是流式返回&…

前言

最近我们公司也是在做认知助手,大模型相关的功能,正在做提示词,机器人对话相关功能。想要提高用户体验,使用SSE请求模式,在不等数据完全拿到的情况下边拿边返回。

之前做过一版,但不是流式返回,是等待全部结果再返回,不得不说确实等待过程挺长,然后就有了现在的优化。想着功能都写好了,只是改一下接口,应该是个简单的需求。

后端使用的post接口,经过一番搜索,最后使用的fetch。经过短短几个小时,配置写好,准备联调,以为需求就顺利完工了。奈何就这流式联调,还耗了两天。只因为后端在postman上测试时正常的,然后前端在本地连调就是无法获取分段式数据,拿到的总是一整块数据。表现成这样,我们就开始纠结前端配置是否有误,网关转发是否有误。

就这样前端也试了好几种方式去发请求,奈何结果都一样。想着先测其他部分,这个接口最后测试。意外的是部署在线上的环境竟然能正常接收流式接口!!!那问题可能就是本地与部署线上的区别了,今天主要记录一下使用的配置。

EventSource

创建EventSource对象:首先,使用new EventSource()构造函数创建一个EventSource对象。该对象将用于与服务器建立连接并接收服务器发送的事件流。

var eventSource = new EventSource('sse_url');

在上面的代码中,将’sse_url’替换为实际的SSE请求URL。
2. 监听事件:使用EventSource对象的onmessage事件监听器来接收服务器发送的事件数据。当接收到数据时,事件处理函数将被调用,并可以通过事件对象的data属性访问数据。

eventSource.onmessage = function(event) {  console.log('Received data:', event.data);  
};

错误处理:为了处理可能发生的错误,可以使用EventSource对象的onerror事件监听器。当发生错误时,可以在事件处理函数中进行处理。

eventSource.onerror = function(error) {  console.error('SSE error:', error);  
};

关闭连接:当不再需要接收事件流时,可以使用EventSource对象的close方法关闭连接。

eventSource.close();

完整的示例代码如下所示:

var eventSource = new EventSource('sse_url');  eventSource.onmessage = function(event) {  console.log('Received data:', event.data);  
};  eventSource.onerror = function(error) {  console.error('SSE error:', error);  
};

但是EventSource只支持get请求,配置请求头也不太友好。

fetch

async function getStream() {try {let response = await fetch('url');if (!response.ok) {throw new Error('Network response was not ok');}   const reader = response.body.getReader();const textDecoder = new TextDecoder();let result = true;let output = ''while (result) {const { done, value } = await reader.read();if (done) {console.log('Stream ended');result = false;break;}const chunkText = textDecoder.decode(value);output += chunkText;console.log('Received chunk:', chunkText);}} catch (e) {console.log(e);}
}

插件

@microsoft/fetch-event-source
使用方法我就 不放了,看了一下源码也是基于fetch实现的,网上例子很多,可以看看。

问题

本地运行的环境也是用的代理访问的部署好的环境的接口。插件是 Node.js 的 HTTP 代理中间件http-proxy-middleware。所以为何同样的配置,本地运行不行,而部署到环境上就正常了呢,

http://www.zhongyajixie.com/news/32829.html

相关文章:

  • 沙洋县住房和城乡建设局网站百度网站的网址是什么
  • 电子商务网站建设的基本要求徐州百度推广公司
  • wordpress 简洁博客网络优化主要做什么
  • 深圳建设网站排名北京网
  • ps网站建设婚恋网站排名前10
  • 网站开发网页设计北京师范大学出版社app营销推广方案
  • 河南app软件开发价位优化关键词是什么意思
  • 网站开发前端框架和后端框架seo实战密码第四版
  • 沈阳做网站哪家质量好价格低seo是指什么意思
  • 英文网站备案站长工具seo下载
  • 河南夏邑网站建设百度营消 营销推广
  • 中国供应商网做网站滁州网站seo
  • 公众信息帮竞彩网站做维护吗热搜榜排名今日事件
  • 大连做网站的网络公司自媒体营销模式有哪些
  • 网站宣传册怎么做数据分析培训课程
  • 宁波企业网站制作如何给自己的公司建网站
  • 钓鱼转转网站在线生成软件微信上如何投放广告
  • 青岛网站推广百度站长平台工具
  • 下载的网站模板怎么用国际新闻头条今日国际大事
  • 电商网站设计与制作论文网站排名查询
  • 销售网站怎么做如何自己做引流推广
  • 工控主机做网站服务器网站推广技巧和方法
  • 如何在app上做网站公司网站建设开发
  • 万江区仿做网站品牌策划公司介绍
  • 镇江当地网站西安seo顾问
  • 网站配色设计流量购买网站
  • 哪个网站教做ppt销售人员培训课程有哪些
  • 石家庄模板自助建站线上商城推广软文
  • 提升自己网站徐州网站设计
  • 网站架构包括西安seo外包行者seo06