UNPKG

841 BJavaScriptView Raw
1var fs = require('fs');
2var Promise = require('bluebird');
3var _ = require('lodash');
4var async = require('..').async;
5var await = require('..').await;
6
7
8var longCalculation = async (function (seconds, result) {
9 await(Promise.delay(seconds * 1000));
10 return result;
11});
12
13
14var program = async (function() {
15 var randomDelays = _.times(10, function() { return Math.round(40 * Math.random()) / 10; });
16 console.log('Operation lengths (secs): ' + JSON.stringify(randomDelays, null, 2));
17
18 var asyncOps = _.map(randomDelays, function(delay) { return longCalculation(delay, delay); });
19 var fastest = await.top(3) (asyncOps);
20 console.log('Finished fastest: ' + JSON.stringify(fastest, null, 2));
21});
22
23
24console.log('running...');
25program().catch(function (err) { console.log('ERROR: ' + err); });