function some(arr, iter) {
    return _.reduce(arr, function(prev, elem, i) {
        return prev.then(function(val) {
            if (val) return val;

            return iter(elem, i);
        });
    }, Q());
}
// Iter over an array and return first result (not null)
Iter over an array and return first result (not null)
Iter over an array and return first result ( not null )
function some(arr, iter) {
    return _.reduce(arr, function(prev, elem, i) {
        return prev.then(function(val) {
            if (val) return val;
            return iter(elem, i);
        });
    }, Q());
}
function some ( arr , iter ) { return _ . reduce ( arr , function ( prev , elem , i ) { return prev . then ( function ( val ) { if ( val ) return val ; return iter ( elem , i ) ; } ) ; } , Q ( ) ) ; }
Iter over an array and return first result (not null)
Iter over an array and return first result ( not null )