function times (n, iteratee, callback) {
        return timesLimit(n, Infinity, iteratee, callback)
    }
Calls the `iteratee` function `n` times, and accumulates results in the same
manner you would use with [map]{@link module:Collections.map}.

@name times
@static
@memberOf module:ControlFlow
@method
@see [async.map]{@link module:Collections.map}
@category Control Flow
@param {number} n - The number of times to run the function.
@param {AsyncFunction} iteratee - The async function to call `n` times.
Invoked with the iteration index and a callback: (n, next).
@param {Function} callback - see {@link module:Collections.map}.
@returns {Promise} a promise, if no callback is provided
@example

// Pretend this is some complicated async factory
var createUser = function(id, callback) {
    callback(null, {
        id: 'user' + id
    });
};

// generate 5 users
async.times(5, function(n, next) {
    createUser(n, function(err, user) {
        next(err, user);
    });
}, function(err, users) {
    // we should now have 5 users
});