我已经开始使用“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/