lib/utils/promise.js
function forEach(arr, iter) {
    return reduce(arr, function(val, el, key) {
        return iter(el, key);
    });
}
function forEach(arr, iter) {
    return reduce(arr, function(val, el, key) {
        return iter(el, key);
    });
}
function forEach ( arr , iter ) { return reduce ( arr , function ( val , el , key ) { return iter ( el , key ) ; } ) ; }
Iterate over an array using an async iter

@param {Array|List} arr
@param {Function(value, element, index)}
@return {Promise}
Iterate over an array using an async iter