Files
jsowell-charger-web/jsowell-ui/node_modules/parallel-transform/README.md
Lemon f5e6e29f00 Merge branch 'dev-zza' into dev
# Conflicts:
#	jsowell-ui/.env.development
#	jsowell-ui/.env.staging
#	jsowell-ui/bin/build-sit.bat
#	jsowell-ui/bin/build.bat
#	jsowell-ui/src/api/adapayMember/adapayMember.js
#	jsowell-ui/src/api/pile/merchant.js
#	jsowell-ui/src/router/index.js
#	jsowell-ui/src/views/financial/financeDetail.vue
#	jsowell-ui/src/views/financial/merchant.vue
#	jsowell-ui/src/views/homeIndex/homeIndex.vue
#	jsowell-ui/src/views/login.vue
#	jsowell-ui/src/views/pile/basic/detail.vue
#	jsowell-ui/src/views/pile/station/components/SiteInfo.vue
#	jsowell-ui/src/views/pile/station/detail.vue
#	jsowell-ui/src/views/pile/station/orderReport.vue
2025-06-03 14:26:37 +08:00

54 lines
1.4 KiB
Markdown

# parallel-transform
[Transform stream](http://nodejs.org/api/stream.html#stream_class_stream_transform_1) for Node.js that allows you to run your transforms
in parallel without changing the order of the output.
npm install parallel-transform
It is easy to use
``` js
var transform = require('parallel-transform');
var stream = transform(10, function(data, callback) { // 10 is the parallism level
setTimeout(function() {
callback(null, data);
}, Math.random() * 1000);
});
for (var i = 0; i < 10; i++) {
stream.write(''+i);
}
stream.end();
stream.on('data', function(data) {
console.log(data); // prints 0,1,2,...
});
stream.on('end', function() {
console.log('stream has ended');
});
```
If you run the above example you'll notice that it runs in parallel
(does not take ~1 second between each print) and that the order is preserved
## Stream options
All transforms are Node 0.10 streams. Per default they are created with the options `{objectMode:true}`.
If you want to use your own stream options pass them as the second parameter
``` js
var stream = transform(10, {objectMode:false}, function(data, callback) {
// data is now a buffer
callback(null, data);
});
fs.createReadStream('filename').pipe(stream).pipe(process.stdout);
```
### Unordered
Passing the option `{ordered:false}` will output the data as soon as it's processed by a transform, without waiting to respect the order.
## License
MIT