в парсере не заполняется массив, что не правильно делаю?
let arrMessages: Array<any> = [];
(async () => {
let imap = await imaps.connect(config);
await imap.openBox('INBOX');
const searchCriteria = [['SINCE', '08.09.2021']];;
const fetchOptions = { bodies: ['HEADER', 'TEXT', ''] };
let messages = await imap.search(searchCriteria, fetchOptions);
await messages.forEach((item: any) => {
const all = _.find(item.parts, { "which": "" })
const id = item.attributes.uid;
const idHeader = "Imap-Id: " + id + "\r\n";
simpleParser(idHeader + all.body, (_err: any, mail: any) => {
return arrMessages.push({
subject: mail.subject,
from: mail.from,
date: mail.date,
text: mail.text,
attachments: mail.attachments
});
});
})
})();
не надо так массив заполнять, это ненадёжно и фу вообще набейте внутри функции массив и потом его подождите уже и зачем вам IIFE?
и зачем вы forEach эвэйтите?
перебрать письма
я спросил только про эвэйт. не вижу в нём смысла у форича. мб, я невнимательный, кнчн
сейчас бы на ноде модульность организовывать через iife..
но в любом случае без евейта, массив не заполняет, так какой есть выход, не совсем понял?
я же сказал, массив создайте внутри функции и верните из неё
это не для модульности, а вместо топ-левел эвэйта
а разница? одно и то же.. бесполезное творчество
о чём я уже написал, да
Обсуждают сегодня