1 | var fs = require('fs');
|
2 | var Promise = require('bluebird');
|
3 | var async = require('..').async;
|
4 | var await = require('..').await;
|
5 |
|
6 |
|
7 | var ITER = async.mod({ isIterable: true, acceptsCallback: true, returnValue: 'thunk' });
|
8 |
|
9 |
|
10 | var someNums = ITER (function (yield_) {
|
11 | await (Promise.delay(500));
|
12 | yield_(111);
|
13 | await (Promise.delay(500));
|
14 | yield_(222);
|
15 | await (Promise.delay(500));
|
16 | yield_(333);
|
17 | await (Promise.delay(500));
|
18 | });
|
19 |
|
20 |
|
21 | var program = async (function() {
|
22 | var iterator = someNums();
|
23 |
|
24 | var thunk = iterator.forEach(console.log, function (err) {
|
25 | console.log('Finished (callback)');
|
26 | });
|
27 |
|
28 | thunk(function (err) {
|
29 | console.log('Finished (thunk)');
|
30 | });
|
31 | console.log('Finished (synchronous)');
|
32 | });
|
33 |
|
34 |
|
35 | console.log('running...');
|
36 | program().catch(function (err) { console.log('ERROR: ' + err); });
|