Задать вопрос
@rockwell323

Как поочередно отправлять данные в post запросе?

У меня есть множество данных в подмассивах, после отправки первого подмассива в post запросе я ожидаю ответа, следом после получения ответа я пытаюсь отправить второй подмассив и т.д.(жду ответ -- отправляю след. подмассив).
Получается только с первым подмассивом, он у меня по кругу отправляется. Как мне поочередно отправлять данные в post запросе после получения ответа( то есть отправил 1й подмассив -- дождался ответа, отправил 2й подмассив -- дождался ответа и т.д.)????
Вот пример кода, пытался через циклы подставлять в form mis[1] mis[2] mis[3] и т.д., но не получается, оно не дожидается ответа, идет постоянная отправка данных из-за чего ошибки Частые запросыб. Пытался через while после if (response.statusCode == 200) {i ++} цикл не хочет работать. В общем как то так(
async function subscribe(){
	request.post({
	        url: 'https://example.com',
		form: {list: mis[0]}  --> // первый подмассив
	       }, async function(err, response, body){
               console.log(response.statusCode);
               if (response.statusCode == 200){
                    await subscribe();
               };
        });
subscribe();
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Средний 2 комментария
Решения вопроса 1
@dimoff66
Кратко о себе: Я есть
async в вашем случае абсолютно лишнее

function subscribe (ind = 0) {
  request.post({
      url: 'https://example.com',
      form: {list: mis[ind]} 
    }, (err, response, body) => {
      console.log(response.statusCode)
      if (response.statusCode == 200) 
        subscribe (ind + 1)
   })
}
subscribe()


Правда не очень понятно, зачем вы каждый раз ждете ответа, если этот результаты ответа не используются в последующий запросах. В чем смысл тогда?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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