У меня возникла проблема при попытке создать список URL-адресов для многоэлементной загрузки на S3 с использованием lamba, я пытаюсь сгенерировать URL-адреса, используя al oop в функции lambda, но она генерирует только 1 и продолжает возвращать этот адрес во всех l oop, поэтому в конце у меня есть массив URL с повторяющимся идентичным URL, этого не произойдет, если я вызову метод generateSignedUrl () несколько раз в коде, я имею в виду, если вместо вызова for для l oop до l oop 3 раза, я использую метод generateSignedUrl () 3 раза, когда он фактически генерирует 3 разных URL, в то время как l oop генерирует 1 повтор 3 раза.
async function getSignedUrl(key){
return new Promise((resolve,reject) => {
let params = { Bucket: bucketName, Key: key };
s3.getSignedUrl('getObject', params, (err, url) => {
if (err) reject(err)
resolve(url);
})
});
}
async function process(items) {
for (let item of items) {
const signedUrl = await getSignedUrl(item.fileName);
item.url = signedUrl;
}
return items;
}
process(result).then(res => {
console.log(res);
});