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
: 回调函数,接收解析后的ParsedEvent
或ReconnectInterval
对象。
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 项目地址: https://gitcode.com/gh_mirrors/ev/eventsource-parser
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考