Если речь об аналоге Promise.any, AggregateError.errors должен сохранять порядок входных промисов, а не порядок их отказов; поэтому нужен индекс.
Почему ошибки в функции any нельзя добавлять через push, а нужно записывать по индексу?
Если речь об аналоге Promise.any, AggregateError.errors должен сохранять порядок входных промисов, а не порядок их отказов; поэтому нужен индекс.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если речь об аналоге Promise.any, AggregateError.errors должен сохранять порядок входных промисов, а не порядок их отказов; поэтому нужен индекс.
Асинхронные операции завершаются в произвольном порядке. errors.push(error) отражает порядок завершения и нарушает ожидаемое соответствие исходным элементам. Сохраните индекс при обходе и записывайте errors[index] = error, отдельно считая отказы. Если все входы отклонены, сформируйте AggregateError из этого массива; пустой вход также должен завершаться отклонением.