首页 > 其他分享 >文字流渲染

文字流渲染

时间:2024-07-21 16:40:55浏览次数:8  
标签:文字 const 示例 text app 渲染 res

HTML代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>文字流渲染</title>
  </head>
  <body>
    <div id="">文字流渲染</div>
    <div id="text-container"></div>
    <script>
      const textContainer = document.getElementById("text-container");
      const controller = new AbortController();
      const signal = controller.signal;

      setTimeout(() => controller.abort(),2000); // 5秒超时
      fetch("http://localhost:3000/stream", { signal })
        .then((response) => {
          const reader = response.body.getReader();
          function read() {
            return reader.read().then(({ done, value }) => {
              if (done) {
                return;
              }
              const text = new TextDecoder("utf-8").decode(value);
              textContainer.innerText += text;
              return read();
            });
          }
          return read();
        })
        .catch((err) => {
          if (err.name === "AbortError") {
            console.error("请求超时");
          } else {
            console.error("请求失败", err);
          }
        });
    </script>
  </body>
</html>

Node起本地服务代码

const express = require('express');
const cors = require('cors');
const app = express();
const port = 3000;

app.use(cors());
app.get('/stream', (req, res) => {
  res.setHeader('Content-Type', 'text/plain');
  const text = "这是一个文字流示例这是一个文字流示例这是一个文字流示例这是一个文字流示例这是一个文字流示例这是一个文字流示例";
  let index = 0;
  const interval = setInterval(() => {
    if (index < text.length) {
      res.write(text[index]);
      index++;
    } else {
      clearInterval(interval);
      res.end();
    }
  }, 100); // 每隔100毫秒发送一个字符
});

app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

 

 

标签:文字,const,示例,text,app,渲染,res
From: https://www.cnblogs.com/XieYFwin/p/18314638

相关文章

  • vue3 - 最新详细实现 “日历课程表“ 上课时间表功能组件,教务系统专用老师排课表插件
    效果图在vue3、nuxt3项目开发中,详解实现学生每周“动态课程表(日历表展现)”功能实现,对学期的每周课程进行排课和准备工作,可自由切换本月的每周上课表情况、也可通过日期范围选择器进行筛选指定周的教学排班表、相同的课成可以合并(可不开启),课表数据结构支持调用后端服......
  • 渐变边框文字效果?CSS 轻松拿捏!
    今天,有个群友问了我这么一个问题,如果不想切图,是否有办法实现带渐变边框的字体效果?如下所示:本文,就将尝试一下,在CSS中,我们可以如何尽可能的实现这种渐变边框字体效果。元素叠加首先,比较容易想到的写法是通过元素叠加实现。元素本身实现文字效果本身通过元素的伪元素,配合ba......
  • [C#]基于C#调用WechatOCR.exe实现OCR文字识别
    【参考源码】https://github.com/swigger/wechat-ocr该作者又是参考https://github.com/EEEEhex/QQImpl【测试环境】vs2022专业版netframework4.7.2注意经过测试发现由于C++编译libprotobuf都是vs2022生成的导致dll均是vs2022开发,如果您使用vs2019或者其他版本会报错,所以......
  • 编织文字之美:WebKit的CSS文本格式化能力全解析
    编织文字之美:WebKit的CSS文本格式化能力全解析在网页设计中,文本不仅是传递信息的媒介,更是展现美学的重要元素。WebKit,作为Safari、QQ浏览器等众多浏览器的内核,提供了强大的CSS文本格式化支持。通过CSS,开发者可以对文本进行丰富的样式设计,从而提升用户体验和网站的视觉吸引......
  • CSS盒子模型 (圆角边框,盒子阴影,文字阴影)
    (大家好,今天我们将继续来学习CSS的相关知识,大家可以在评论区进行互动答疑哦~加油!......
  • 8个软件和渲染农场:让3D建模和渲染变得简单
    3D建模和渲染已成为艺术与技术的交汇点,尽管这一领域充满挑战,但总有一些工具和资源能让用户使用变得不那么艰难。今天,我们将探讨“8个软件和渲染农场:让3D建模和渲染变得简单”,这些工具不仅简化了建模和渲染的过程,还通过渲染农场技术,使得即使是资源有限的个人也能享受到专业的渲染效......
  • 2024-07-18 code标签渲染时会多出空格是怎么回事?
    问题就是我给code标签传递一段源代码,该代码明明没有空格,但实际渲染却多了一串空格?如下图所示: 原因:code标签包裹的内容会原原本本的渲染出来,包括空格。我查看了我的代码: 我是这么写的:<code>{{sourceCode}}</code>{{sourceCode}}前面有空格,code标签直接把它们......
  • OpenCV教程04:结合pillow在图片上显示中文文字
    1.如果添加的内容是纯英文文字,直接使用cv2.putText函数操作即可。但它不支持自定义字体文件,仅限于这些内置的字体样式。如果你需要更复杂的字体支持,可能需要使用其他库,如PythonImagingLibrary(PIL)或Pillow。可用的字体列表:cv2.FONT_HERSHEY_SIMPLEX-正常大小的无......
  • Python读Excel数据,创建Word文档上下文字典列表,元素为字典(新)
    #读Excel数据,创建Word文档上下文字典列表,元素为每个培训人员的上下文字典defcreate_docx_context_dict_list(_excel_path):"""输入参数::param_excel_path:Excel全路径功能:创建Word文档上下文字典列表,元素为每个培训人员的上下文字典字典的键为......
  • 云渲染服务:初创企业的成本效益与效率提升
    视觉营销对于吸引潜在客户至关重要,而云渲染作为一种革命性工具,为创意产业提供了强大的计算能力和灵活性,帮助企业在竞争激烈的市场中脱颖而出。一、什么是云渲染?云渲染是指客户利用远程计算资源,将图形传输到云服务器,而不是使用传统计算机的过程。云渲染服务将渲染工作负载划分为......