У меня есть следующий метод:
pub fn load_names(&self, req: &super::MagicQueryType) -> ::grpcio::Result<::grpcio::ClientSStreamReceiver<String>> {
Моя цель - получить самый первый элемент grpcio::ClientSStreamReceiver
;Меня не волнуют другие имена:
let name: String = load_names(query)?.wait().nth(0)?;
Кажется неэффективным вызывать wait()
до nth(0)
, так как я считаю, wait()
блокирует поток до тех пор, пока он не получит все элементы.
Как я могу написать более эффективное решение (например, nth(0).wait()
), не вызывая ошибок сборки?Ошибки сборки Rust для futures::stream::Stream
выглядят крайне смущающими для меня.
Rust Playground не поддерживает grpcio = "0.4.4"
, поэтому я не могу предоставить ссылку.