Выполнение вызова извлечения во вложенном цикле for - PullRequest
0 голосов
/ 09 марта 2020

В настоящее время я преобразовываю свою локальную функцию в лямбда-функцию и сталкиваюсь с некоторыми трудностями. В предыдущем методе я получаю массив фрагментов URL-адресов, которые мне нужно программно соединить с префиксом, чтобы получить данные обратно.

Логически я считаю, что лучший способ сделать это - сделать вложенный файл для л oop. Go через серию префиксов, добавляющих фрагмент url и выполняющих вызов fetch.

Он отлично работает в локальном режиме, но лямбда выдает ошибки.

function getVariantData(data, cb) {
  for (var i = 0; i < chapters.length; i++) {
    let source = chapters[i];
// chapters = url prefix
    data.forEach(async element => {
      let res = await fetch(chapters[i] + element);
//element = url fragment
      let body = await res.text();
      createVariantsFile(element, source, body, cb);
    });
  }
}

этот код работает нормально, но я Я узнал, что лямбда-выражения более строгие с forEach и async / awaits, поэтому я изменил свой код на это и столкнулся с множеством проблем. Я не закончил писать console.log, потому что ... ну, я не справился с ошибкой.

async function getVariantData(data, cb) {
  for (var i = 0; i < chapters.length; i++) {
    let source = chapters[i];
    const promises = data.map((datum, index) => fetch(source+datum))
    const chapterData = await Promise.all(promises)
    console.log(chapterData)
    // await data.map(async element => {
    //   return await (chapters[i] + element);
    //  createVariantsFile(element, source, body, cb);
    // });
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...