额外的外部异步块的目的是什么
在很多 SO 问题以及很多外部的、有信誉的资源中,例如tokio 教程,我看到人们使用了一个额外的async块,例如:
tokio::spawn(async move {
process(socket).await;
});
而不是只做
tokio::spawn(process(socket));
双方都对某些人有决心Future并spawn()期待
pub fn spawn<T>(future: T) ....
where T: Future + ....
所以我无法理解额外async {}块的需要。
真的有必要吗?除了作为异步代码的“视觉标记”之外,还有什么区别吗?