Node.js 如何减慢/瓶颈`fs.createReadStream`用于调试的数据事件
我有文件块的Node.js 如何减慢/瓶颈`fs.createReadStream`用于调试的数据事件,node.js,websocket,stream,fs,Node.js,Websocket,Stream,Fs,我有文件块的fsreadstreamwhatdata事件。有没有办法让下一个事件触发能够调试它?我想在客户端制作进度条(流通过websockets向客户端发送数据),但一切都太快了,以至于我无法实际测试它 const readStream = fs.createReadStream("./test.jpg", { encoding: "binary" }); const chunks = []; readStream.on("
fs
readstreamwhatdata
事件。有没有办法让下一个事件触发能够调试它?我想在客户端制作进度条(流通过websockets向客户端发送数据),但一切都太快了,以至于我无法实际测试它
const readStream = fs.createReadStream("./test.jpg", { encoding: "binary" });
const chunks = [];
readStream.on("data", (chunk) => {
// Emit chunk to connected socket
socket.emit("data-chunk", chunk);
});
您可以向ReadStream事件处理程序添加暂停,以降低其速度:
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
const readStream = fs.createReadStream("./test.jpg", { encoding: "binary" });
readStream.on("data", async (chunk) => {
// Emit chunk to connected socket
socket.emit("data-chunk", chunk);
await sleep(1000);
});
您可以向ReadStream事件处理程序添加暂停,以降低其速度:
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
const readStream = fs.createReadStream("./test.jpg", { encoding: "binary" });
readStream.on("data", async (chunk) => {
// Emit chunk to connected socket
socket.emit("data-chunk", chunk);
await sleep(1000);
});
暂停流,然后在延迟后继续:
readStream.on("data", function (chunk) {
// Emit chunk to connected socket
socket.emit("data-chunk", chunk);
readStream.pause();
setTimeout(function () { readStream.resume(); }, 1000);
});
暂停流,然后在延迟后继续:
readStream.on("data", function (chunk) {
// Emit chunk to connected socket
socket.emit("data-chunk", chunk);
readStream.pause();
setTimeout(function () { readStream.resume(); }, 1000);
});