UNPKG

411 BJavaScriptView Raw
1import { Promise } from 'sander';
2
3export 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