Http-запрос внутри forEach - NodeJS - PullRequest
       8

Http-запрос внутри forEach - NodeJS

0 голосов
/ 22 октября 2018

У меня есть электронные таблицы с данными, которые необходимо загрузить через API.После извлечения данных из электронной таблицы я создаю объект и помещаю его в массив.

Моя идея состояла в том, чтобы перебрать этот массив и сделать запрос для каждого отдельного объекта в нем и использовать код состояния для отображения сообщения об успехе или ошибке.Код работает нормально с небольшими количествами (~ 200 элементов), но когда я пытаюсь подчеркнуть его (скажем, 3500 элементов), строка response.statusCode разрывается, потому что response не определено.Я думал, что у меня не будет проблем с асинхронной частью, потому что обратный вызов будет вызываться только тогда, когда сервер ответит, но, похоже, что это не так.Почему я получаю response неопределенный в обратном вызове?

Вот код, который я использую:

array.forEach(function (element) {
        //Configure Request
        var options = {
            url: 'http://example',
            method: 'POST',
            headers: headers,
            body: element,
            json: true
        }

        request(options, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                console.log(response.statusCode);
                console.log(body)
            } else {
                console.log(response.statusCode);
                console.log(error)

            }
        });
    });

Спасибо!

1 Ответ

0 голосов
/ 22 октября 2018

Пожалуйста, запустите этот код в async.mapLimit ()

https://caolan.github.io/async/docs.html#mapLimit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...