Это первый раз, когда я использую уменьшение с обещанием, и оно отлично подходит для моего использования.
Однако я пытаюсь использовать сокращение, чтобы перебрать больше, чем исходный размер моего массива (вызовите Redu_array вмой пример).
На самом деле в этом примере methodThatReturnsAPromise стоит true в одном случае, false в другом.(в конце он всегда заканчивается значением false)
Идея состоит в том, что если результаты ложны, то обычно сокращают объем работы и переходят к следующему значению (nextId).С другой стороны, если результаты верны, я должен снова разрешить methodThatReturnsAPromise с тем же значением.
Я уже пробую разные методы, используя индекс в параметре, или я уже пытаюсь снова выдвинуть идентификатор в Reduce_array, ноничего из этой работы.
reduce_array.reduce((accumulatorPromise, nextId, index, array) => {
return accumulatorPromise.then((results) => {
//if results === end || result === unknownDomain
//next
//first iteration, results don't exist
if (results) {
if (results === true) {
index++;
return methodThatReturnsAPromise(nextId - 1);
} else {
return methodThatReturnsAPromise(nextId);
}
} else {
return methodThatReturnsAPromise(nextId);
}
})
}, Promise.resolve());