1 | var Promise = require('bluebird');
|
2 | var async = require('..').async;
|
3 | var await = require('..').await;
|
4 |
|
5 |
|
6 |
|
7 | var longCalculation = async (function (seconds, result) {
|
8 | await(Promise.delay(seconds * 1000));
|
9 | return result;
|
10 | });
|
11 |
|
12 |
|
13 | var compoundOperationA = async (function () {
|
14 | console.log('A: zero');
|
15 | console.log(await(longCalculation(1, 'A: one')));
|
16 | console.log(await(longCalculation(1, 'A: two')));
|
17 | console.log(await(longCalculation(1, 'A: three')));
|
18 | return 'A: Finished!';
|
19 | });
|
20 | var compoundOperationB = async (function () {
|
21 | await(longCalculation(0.5, ''));
|
22 | console.log('B: zero');
|
23 | console.log(await(longCalculation(1, 'B: one')));
|
24 | console.log(await(longCalculation(1, 'B: two')));
|
25 | console.log(await(longCalculation(1, 'B: three')));
|
26 | return 'B: Finished!';
|
27 | });
|
28 |
|
29 |
|
30 | compoundOperationA().then(function (result) { console.log(result); });
|
31 | compoundOperationB().then(function (result) { console.log(result); });
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|