1 | import { Promise } from 'sander';
|
2 |
|
3 | export function sequence ( arr, callback ) {
|
4 | const len = arr.length;
|
5 | let results = new Array( len );
|
6 |
|
7 | let promise = Promise.resolve();
|
8 |
|
9 | function next ( i ) {
|
10 | return promise
|
11 | .then( () => callback( arr[i], i ) )
|
12 | .then( result => results[i] = result );
|
13 | }
|
14 |
|
15 | let i;
|
16 |
|
17 | for ( i = 0; i < len; i += 1 ) {
|
18 | promise = next( i );
|
19 | }
|
20 |
|
21 | return promise.then( () => results );
|
22 | } |
\ | No newline at end of file |