c++ - 关于C++ rest sdk和同步调用

标签 c++ cpprest-sdk

我已经开始使用“cpp rest sdk”。我理解的关键点是所有请求和响应都是异步的,使用 PPL 的方式。这对于提高应用程序的可扩展性和性能非常有用。

我的问题是天气是以“同步”方式请求和等待响应的任何方式。

我找到了以下 web page这似乎工作正常,它声称以同步方式进行调用。是这样吗?

调用 task::get() 是否保证函数在响应准备好被读取时返回?

最佳答案

异步编程的主要思想是将您希望顺序执行的所有部分链接起来。如果你想让程序等到序列完成,你可以用 .wait()

结束链
client.request(web::http::methods::GET, U("/foo.html"))
      .then(/*some lambda*/)
      .then(/*some lambda*/)   //and so on
      .wait();                 //stop here until the chain is executed

同样,您也可以使用get(),它同样调用wait(),但进一步返回任务的结果。

关于c++ - 关于C++ rest sdk和同步调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45176900/

相关文章:

c++ - 为什么在 C++ 中未指定函数参数的评估顺序?

c++ - 有没有办法对从字符串 cpp 转换而来的整数执行算术

c++ - 编译错误 'set_ssl_context_callback' : on Windows

c++ - 如何解析cpprestsdk生成的多个Set-Cookie?

C++使用回调函数时不知道使用 "this"和 "std::placeholders::_1"是什么意思

c++ - 如何在不更改其余代码的情况下替换 C++ 模板以使其与 C 兼容?

c++ - 使用MinGW编译器编译C++程序时如何增加堆栈大小

c++ - 如何从cpprestsdk解析json数据

c++ - 如何使用cpprestsdk解析来自websocket_client的json数据

c++ - 无法识别初始化类型