@nezzard

Как ограничить reduce в node.js?

Добрый день, есть массив который перебираю через
result.reduce((lastRequestDone, item) => { 
return lastRequestDone.then(() => somefunc());
})


На приходе массив из 9 айтемов, ограничить до 5 циклов, но только если успешно обработана функция, к примеру 3 по счету айтем не соответствует if, значит его нужно пропустить и в результате выдать 5 значений, исключая элементы с ошибками.

Пробовал нечто подобное
result.reduce((lastRequestDone, item) => { 
if(result.name !== 'some' && i <= 5){
return lastRequestDone.then(() => somefunc());
}

})


Но в итоге получил только ошибку
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 1
@emp1re
примитивно пример -
async.waterfall([
            (callback) => {
           // do something
                if(result.name !== 'some' && i <= 5)  callback(null, data);
                return callback('err');
            },
            (data, callback) => {
            return callback(result.reduce((lastRequestDone, item) => { 
                    return lastRequestDone.then(() => somefunc());
            }));
            }
        ], function(err, result) {
            if (err) return callback(err); 
           // do something
        });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы