【问题标题】:about C++ rest sdk and synchronous calls关于 C++ rest sdk 和同步调用
【发布时间】:2017-07-18 20:56:00
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您能否提供您尝试过的代码示例?此外,对于链接,最好将其核心内容复制到此处,因为链接往往会死掉。谢谢:-)

标签: c++ cpprest-sdk


【解决方案1】:

异步编程的主要思想是将您想要顺序执行的所有部分链接起来。如果你想让程序等到序列完成,你可以用.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(),但进一步返回任务的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 2019-04-07
    相关资源
    最近更新 更多