Russian Qt Forum
Ноябрь 22, 2024, 20:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как правильно настроить, ожидание ответа QNetworkAccessManager  (Прочитано 3775 раз)
Zusykss
Гость
« : Ноябрь 12, 2016, 14:12 »

Уважаемые коллеги подскажите,  с  помощью каких средств, можно последовательно управлять запросами.
Задача в том, что мне нужно получать ответ парсить, и данные ложить в следующий за ним запрос, а бывает такие случаи, что ответ еще не пришел, а он следующий отправляет....  обычными Sleep(); все работает безотказно, а их использовать не хочется, Так вот я уже пробовал QTimer, QThread::currentThread()->wait(); и ошибки все время повторяются.
Если можете покажите пример
Код:
void NetworkManager::secondPageRequest(const QString & m_mail)
{
init();
QNetworkRequest req;
if (this->cookies.count() != 0)
this->jar->setCookiesFromUrl(this->cookies, NetworkConst::SecondUrl);

// заполнение второго запроса
this->setting.WriteRequestSecond(req, m_mail,this->ReqParams,this->postData);

this->reply = this->networkManager->post(this->request, this->postData);

QObject::connect(this->networkManager.data(), &QNetworkAccessManager::finished,
this, &NetworkManager::slotReplyPostFinished);
QThread::currentThread()->wait(4000);
connectErrorHandlers();
}
Записан
Bepec
Гость
« Ответ #1 : Ноябрь 13, 2016, 17:50 »

Создать очередь запросов. И пока не придет текущий ответ с данными, следующий не отправлять.
Записан
Zusykss
Гость
« Ответ #2 : Ноябрь 14, 2016, 08:59 »

Создать очередь запросов. И пока не придет текущий ответ с данными, следующий не отправлять.

Благодарю за ответ.

Подскажите какими средствами это сделать. Что бы я понимал в каком направлении изучать инфу
Записан
Bepec
Гость
« Ответ #3 : Ноябрь 19, 2016, 04:42 »

Эмм...
пихаете задание в QList в нужном вам формате и потом просто push pop.
Тут нет готовых реализаций, это реализуется за 2 минуты.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.129 секунд. Запросов: 20.