feat: 拆分模块

main
LCJ-MinYa 10 months ago
parent 3224d06f04
commit 5b70e5af3c

@ -1,4 +1,5 @@
import http from 'http';
import sse from './module/sse.js';
const server = http.createServer(async (req, res) => {
// 设置 CORS 头
@ -14,41 +15,12 @@ const server = http.createServer(async (req, res) => {
}
if (req.url === '/events') {
// 设置响应头
res.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
Connection: 'keep-alive',
});
// 发送事件
const sendEvent = (msg) => {
return new Promise((resolve) => {
setTimeout(() => {
const data = `data: ${msg ? msg : new Date().toLocaleTimeString()}\n\n`;
res.write(data);
resolve();
}, 100);
});
};
// 每秒发送一次消息
await sendEvent('Start');
for (let i = 0; i < 200; i++) {
await sendEvent();
sse(req, res);
return;
}
await sendEvent('End');
res.end();
// 清理连接
req.on('close', () => {
console.log('Client disconnected');
res.end();
});
} else {
res.writeHead(404);
res.end();
}
});
// 监听端口

@ -1 +1,33 @@
function sse(req, res) {}
export default async function (req, res) {
// 设置响应头
res.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
Connection: 'keep-alive',
});
// 发送事件
const sendEvent = (msg) => {
return new Promise((resolve) => {
setTimeout(() => {
const data = `data: ${msg ? msg : new Date().toLocaleTimeString()}\n\n`;
res.write(data);
resolve();
}, 100);
});
};
// 每秒发送一次消息
await sendEvent('Start');
for (let i = 0; i < 200; i++) {
await sendEvent();
}
await sendEvent('End');
res.end();
// 清理连接
req.on('close', () => {
console.log('Client disconnected');
res.end();
});
}

Loading…
Cancel
Save