有没有办法在连接或表达中设置模式或值
模拟慢速文件上传?
模拟慢速文件上传?
解决方法
首先,安装node-limiter,然后创建一个将限制任何Streams的Transform流:
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,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 /秒的速度
我做到了这一点,所以要小心:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。