1 | var fs = require('fs');
|
2 | var Promise = require('bluebird');
|
3 | var _ = require('lodash');
|
4 | var async = require('..').async;
|
5 | var await = require('..').await;
|
6 |
|
7 |
|
8 | var longCalculation = async (function (seconds, result) {
|
9 | await(Promise.delay(seconds * 1000));
|
10 | return result;
|
11 | });
|
12 |
|
13 |
|
14 | var 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 |
|
24 | console.log('running...');
|
25 | program().catch(function (err) { console.log('ERROR: ' + err); });
|