Чтобы вернуть не первое вложение, а скорее все из них, вы можете изменить функцию getAttachmentAndMessage()
следующим образом:
function getAttachmentAndMessage(thread) {
var results = [];
for (var j = 0; j < thread.length; j++) {
var message = thread[j];
var attachments = message.getAttachments();
var obj = {'message': message, 'attachments': attachments};
results.push(obj);
}
return results;
}
Выше будет возвращен список объектов, в котором каждый объектсодержит свойство message
и свойство attachments
(которое представляет собой список вложений).
Чтобы вернуть список, содержащий только вложений в ветке, вы можетеиспользуйте следующий вариант кода выше:
function getAttachmentAndMessage(thread) {
var results = [];
for (var j = 0; j < thread.length; j++) {
var message = thread[j];
var attachments = message.getAttachments();
results = results.concat(attachments);
}
return results;
}
Ваш оригинальный код
В своем исходном коде getAttachmentAndMessage()
вы использовали оператор return
внутри цикла for. Это означает, что при нахождении первого сообщения (первая итерация внешнего цикла) и при обнаружении его первого вложения (первая итерация внутреннего цикла) функция просто возвращает одно значение, которое представляет собой список, содержащий первое сообщение и его первое вложение.