In modern C++ development, coroutines have brought revolutionary changes to asynchronous programming. However, when using boost::asio or standalone asio, we often encounter scenarios where we need to convert traditional std::future to asio::awaitable. This article will detail an efficient, thread-safe conversion method.