eventsource-parser 技术文档

eventsource-parser 技术文档

eventsource-parser eventsource-parser 项目地址: https://gitcode.com/gh_mirrors/ev/eventsource-parser

1. 安装指南

1.1 使用 npm 安装

要安装 eventsource-parser,请在终端中运行以下命令:

npm install --save eventsource-parser

1.2 安装环境要求

  • Node.js 环境
  • 现代浏览器环境(支持 TransformStream
  • Deno 环境

2. 项目使用说明

2.1 基本使用

eventsource-parser 是一个用于解析 Server-Sent Events (SSE) 的流式解析器。它不依赖于数据流的获取方式,适用于浏览器、Node.js 和 Deno 等 JavaScript 环境。

以下是一个基本的使用示例:

import { createParser, type ParsedEvent, type ReconnectInterval } from 'eventsource-parser';

function onParse(event: ParsedEvent | ReconnectInterval) {
  if (event.type === 'event') {
    console.log('Received event!');
    console.log('id: %s', event.id || '<none>');
    console.log('name: %s', event.name || '<none>');
    console.log('data: %s', event.data);
  } else if (event.type === 'reconnect-interval') {
    console.log('We should set reconnect interval to %d milliseconds', event.value);
  }
}

const parser = createParser(onParse);
const sseStream = getSomeReadableStream();

for await (const chunk of sseStream) {
  parser.feed(chunk);
}

// 如果你想为新的数据流重用解析器,请确保重置它!
parser.reset();
console.log('Done!');

2.2 流式使用

在支持 TransformStream 的环境中(如现代浏览器和 Node 18 及以上版本),可以使用 EventSourceParserStream

import { EventSourceParserStream } from 'eventsource-parser/stream';

const eventStream = response.body
  .pipeThrough(new TextDecoderStream())
  .pipeThrough(new EventSourceParserStream());

3. 项目 API 使用文档

3.1 createParser(onParse: (event: ParsedEvent | ReconnectInterval) => void): Parser

创建一个新的解析器实例。onParse 是一个回调函数,当解析器接收到完整的消息时会被调用。

  • onParse: 回调函数,接收解析后的 ParsedEventReconnectInterval 对象。

3.2 Parser.feed(chunk: string | Buffer): void

向解析器提供数据块。chunk 可以是字符串或 Buffer。

  • chunk: 要解析的数据块。

3.3 Parser.reset(): void

重置解析器,以便为新的数据流重用。

3.4 EventSourceParserStream

一个 TransformStream 实现,用于在支持 TransformStream 的环境中解析 SSE 数据流。

4. 项目安装方式

4.1 通过 npm 安装

npm install --save eventsource-parser

4.2 通过 CDN 使用

你也可以通过 CDN 直接在浏览器中使用 eventsource-parser

<script src="https://cdn.jsdelivr.net/npm/eventsource-parser/dist/eventsource-parser.min.js"></script>

4.3 在 Deno 中使用

在 Deno 中,你可以通过以下方式导入 eventsource-parser

import { createParser } from 'https://deno.land/x/eventsource_parser/mod.ts';

通过以上文档,你应该能够顺利安装和使用 eventsource-parser 项目。如果在使用过程中遇到任何问题,请参考项目的 GitHub 仓库 或联系项目维护者。

eventsource-parser eventsource-parser 项目地址: https://gitcode.com/gh_mirrors/ev/eventsource-parser

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郦泉瑾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值