我发现了这个有趣的链接boost::asio::spawn yield as callback
由于这可能是我所需要的,所以我想尝试以下部分:
template <class CompletionToken>
auto async_foo(uint64_t item_id, CompletionToken&& token)
{
typename boost::asio::handler_type< CompletionToken, void(error_code, size_t) >::type handler(std::forward<CompletionToken>(token));
//handler_type_t<CompletionToken, void(error_code, size_t)> handler(std::forward<CompletionToken>(token));
async_result<decltype(handler)> result(handler);
//async_request_data(item_id, handler);
return result.get();
}
但是很明显,在新的增强版本中,handler_type_t
和boost::asio::handler_type
都不存在。
如何修改示例?
编辑:
他是对的吗?代替
boost::asio::handler_type< CompletionToken, void(error_code, size_t) >::type
我用过
typename boost::asio::async_result< CompletionToken, void(error_code, size_t) >::completion_handler_type
boost.asio