Проблема заключается в том, что обещания выполняются сразу после их создания, а не когда они ожидаются.
Из документации Promise :
Функция executor выполняется немедленно реализацией Promise, передавая функции разрешения и отклонения (исполнитель вызывается до того, как конструктор Promise даже возвращает созданный объект)
Учитывая, что вы используете пользовательскую 1 секунду Тайм-аут, я бы сказал, что некоторые из этих обещаний не выполняются даже до того, как вы дойдете до своего l oop, чтобы ждать их, где у вас есть блок try-catch
.
Чтобы выполнить только обещания в этом try-catch
Блок, вы можете немного изменить свой код, чтобы не создавать обещание раньше, а только в l oop. Что-то вроде этого:
for (let i = 0; i < params.length; i++) {
try {
let result = await lambda.invoke(params[i]).promise();
console.log("Success!");
} catch (e) {
console.log("Failed!");
}
}