Я использую curl
для отправки запросов POST
и GET
, и я использую функции обратного вызова для получения ответов от этих запросов. Эти функции callback
являются статическими функциями-членами, которые, в свою очередь, вызывают нестационарные функции-члены (вы не можете использовать нестатические функции-члены в curl
напрямую, поэтому для этого обходного пути).
Поскольку эти функции обратного вызова не могут вернуть результат, я использую атрибут в моем классе С++ для хранения ответа. Все это прекрасно, но теперь мой вопрос. Делает ли блок curl_easy_perform()
до тех пор, пока не будет отправлен весь запрос И ответ будет обработан функцией обратного вызова ИЛИ продолжит ли моя программа после curl_easy_perform()
и будет ли она прервана каким-то образом, когда будет получен ответ от запроса?
Важное значение для меня в том, что я хочу быть уверенным, что данные в моем атрибуте, который должен содержать ответ, уже есть или возможно, что в этом атрибуте все еще есть старые данные, потому что функция обратного вызова еще не указана были вызваны.
Я понимаю, что мое объяснение не очень ясное, поэтому, если вы не понимаете, пожалуйста, дайте мне знать, и я попытаюсь перефразировать его.
Спасибо!