Function pyo3_asyncio::async_std::cancellable_future_into_py [−][src]
pub fn cancellable_future_into_py<F>(py: Python<'_>, fut: F) -> PyResult<&PyAny> where
F: Future<Output = PyResult<PyObject>> + Send + 'static, 👎 Deprecated since 0.15.0:
Use pyo3_asyncio::async_std::future_into_py instead
Expand description
Convert a Rust Future into a Python awaitable
This function was deprecated in favor of future_into_py in v0.15 because
it became the default behaviour. In v0.15, any calls to this function can be seamlessly
replaced with future_into_py.
This function will be removed in v0.16
Arguments
py- The current PyO3 GIL guardfut- The Rust future to be converted
Examples
use std::time::Duration;
use pyo3::prelude::*;
/// Awaitable sleep function
#[pyfunction]
fn sleep_for<'p>(py: Python<'p>, secs: &'p PyAny) -> PyResult<&'p PyAny> {
let secs = secs.extract()?;
pyo3_asyncio::async_std::cancellable_future_into_py(py, async move {
async_std::task::sleep(Duration::from_secs(secs)).await;
Python::with_gil(|py| Ok(py.None()))
})
}