ev-drogon-coroutine-binder-001¶
| 字段 | 值 |
|---|---|
| 项目 | drogonframework/drogon |
| 固定 commit | 3aae769cc405 |
| 路径 | lib/inc/drogon/HttpBinder.h |
| 行段 | L408-L417 |
| 特性 | 协程 |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-25 |
| 测试代码 | 否 |
| 发现方式 | tree-sitter |
用法¶
调度器按处理器返回类型分支,在 lambda 协程内 co_await 异步结果
为什么典型¶
框架同时支持普通回调、Task<> 与 Task
摘录¶
else if constexpr (std::is_same_v<
Task<>,
typename traits::return_type>)
{
// Explicit copy because `callFunction` moves it
auto cb = callback;
co_await callFunction(req,
cb,
std::move(values)...);
}
备注¶
生产路径;co_await 使该 lambda 自身成为协程,框架用返回类型 Task<> 表达“只等待、不产生响应对象”。