gpt4 book ai didi

node.js - Expressjs/connect - 模拟缓慢的文件上传

转载 作者:搜寻专家 更新时间:2023-10-31 22:21:00 24 4
gpt4 key购买 nike

有没有办法在 connect 或 express 中设置模式或值模拟缓慢的文件上传??

最佳答案

首先,安装 node-limiter 然后创建一个 Transform 流来限制任何 Stream:

var util = require('util');
var Transform = require('stream').Transform;
var TokenBucket = require('limiter').TokenBucket;

function BucketStream(rate, interval, parentBucket, options) {
Transform.call(this, options);
this.bucket = new TokenBucket(Number.POSITIVE_INFINITY, rate, interval, parentBucket);
}

util.inherits(BucketStream, Transform);

BucketStream.prototype._transform = function(chunk, encoding, callback) {
this.bucket.removeTokens(chunk.length, function(err) {
callback(err, chunk);
});
};

然后请求是一个ReadableStream:

var bucketStream = new BucketStream(1024 * 500, 'second'); // 500KB/sec
req.pipe(bucketStream);

现在从 bucketStream(而不是从 req)中以你想要的速度读取,你只会得到 500KB/sec

我是在脑子里做的,所以要小心 :)

关于node.js - Expressjs/connect - 模拟缓慢的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12919457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com