【发布时间】:2014-09-22 19:09:54
【问题描述】:
this question 中包含的代码显示了一组使用 boost::asio 的链式回调。在这种情况下,代码很清晰,因为链的长度很短。
在现实世界的应用程序中,回调链通常要长得多,并且必须包括超时回调和处理错误或格式错误消息的代码。这很快就变得非常复杂,类似于 1960 年代的设计,其中有太多的 goto。
可以通过将代码分层来消除一些复杂性,但由于设计是异步的,因此在某处不可避免地会出现某种类型的回调链。
是吗?有没有办法降低异步设计的复杂性? (显然在某些情况下使用线程会有所帮助,但我正在寻找单线程解决方案。)
【问题讨论】:
标签: c++ callback boost-asio