特质中的async

目前,async fn不能在特质中使用。原因一些复杂,但是有计划在未来移除这个限制。

不过,这个问题可以用crates.io的async_trait 来规避。

注意,这些特质方法会导致每个函数调用都需要分配堆内存。这可能对于大部分应用都不是特别严重 的开销,但是在决定是否要把这个功能作为底层函数的公共API,尤其这个函数可能每秒调用上百万次时 则需要多加考虑。