2.2.4 러스트의 퓨처 타입 사용하기
코드 2-22에서 await 함수가 resp 변수에 저장된 무언가를 반환하는 것을 볼 수 있다. 여기에서 Future 타입이 등장한다. 언급한 대로 Future는 다음과 같은 서명이 있는 더 복잡한 타입이다(코드 2-23). 무엇을 하는지 완전히 이해할 필요는 없지만 코드 스니펫에는 두 링크가 포함되어 있으니 더 자세히 알아볼 수 있다. 주요 기능을 바로 설명하겠다.
코드 2-23 러스트의 퓨처 트레이트
(https://doc.rust-lang.org/std/future/trait.Future.html, https://doc.rust-lang.org/src/core/future/future.rs.html#37-106)
pub trait Future {
type Output;
fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>)
-> Poll<Self::Output>;
}