Есть код:
let Load = (item, config) =>
{
return new Promise((resolve, reject) =>
{
let link = "URL";
Request.get(link, {timeout: 5 * second}, (err, response, body) =>
{
if(err)
{
reject(err);
}
else
{
resolve(body);
}
});
});
};
let AwaitLoad = async (item, config) =>
{
let result = await LoadSteamPrice(item, config);
console.log(result);
return result;
};
Вызов AwaitLoad идет в forEach:
Info.forEach(item =>
{
let result = AwaitLoad(item, config);
console.log(result);
});
// далее должен быть еще код по обработке Info и всякого другого в синхронном порядке
То есть мне нужно последовательно обратиться по определенным адресам и получить оттуда информацию. И часть полученно информации добавить к элементам из Info. console.log в forEach возвращает
Promise { <pending> }, но при этом после отработки console.log в AwaitLoad нужный мен результат выполнения.
Загрузить их все параллельно через Promise.all не могу, т.к. уже 3-4 параллельных запроса возвращают ответ 429 Too many requests, а при последовательном опросе могу хоть сотню запросов отправить.
После этого forEach мне нужно обработать Info далее в синхронном порядке.
Node.js v8.1.2