169 похожих чатов

Подскажите пожалуйста, используя пример из доки https://www.npmjs.com/package/imap-simple переделал на async/await но

в парсере не заполняется массив, что не правильно делаю?

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
});
});
})
})();

12 ответов

11 просмотров

не надо так массив заполнять, это ненадёжно и фу вообще набейте внутри функции массив и потом его подождите уже и зачем вам IIFE?

и зачем вы forEach эвэйтите?

Eugene-Stepanyuk Автор вопроса
Eugene Stepanyuk
перебрать письма

я спросил только про эвэйт. не вижу в нём смысла у форича. мб, я невнимательный, кнчн

сейчас бы на ноде модульность организовывать через iife..

Eugene-Stepanyuk Автор вопроса
i7 4n
я спросил только про эвэйт. не вижу в нём смысла у...

но в любом случае без евейта, массив не заполняет, так какой есть выход, не совсем понял?

Eugene Stepanyuk
но в любом случае без евейта, массив не заполняет,...

я же сказал, массив создайте внутри функции и верните из неё

Ксяу Ка
сейчас бы на ноде модульность организовывать через...

это не для модульности, а вместо топ-левел эвэйта

i7 4n
это не для модульности, а вместо топ-левел эвэйта

а разница? одно и то же.. бесполезное творчество

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта