适配一个 完成令牌,以便在指定绝对时间之前未完成时取消操作。
template< typename CompletionToken, typename Clock, typename WaitTraits, typename Executor, typename Duration> cancel_at_timer< decay_t< CompletionToken >, Clock, WaitTraits, Executor > cancel_at( basic_waitable_timer< Clock, WaitTraits, Executor > & timer, const chrono::time_point< Clock, Duration > & expiry, CompletionToken && completion_token);
当异步操作与 cancel_at 一起使用时,会并行执行一个定时器 async_wait 操作与主操作。如果这个并行 async_wait 操作首先完成,则会发出一个取消请求来取消主操作。因此,应用程序必须确保异步操作在隐式或显式 strand 中执行。