Этот вопрос может тесно связан с этой проблемой GitHub .
У меня сервер GraphQL, написанный на Rust с использованием Juniper.Этот сервер должен выполнить некоторые HTTP-запросы для создания и отправки данных, требуемых клиентами.
В некоторых полях может потребоваться максимум ~ 15 HTTP-запросов (в основном, наборов).Последовательное выполнение этих запросов может занять некоторое время, и я подумывал об использовании Tokio + Futures для их параллельного выполнения.Это кажется технически выполнимым, но до сих пор я понятия не имею, как на самом деле реализовать такое решение, и не смог найти ни одного примера с использованием Juniper и Tokio, пока не обнаружил проблему GitHub, упомянутую ранее...
Примерно так:
graphql_object(Whatever: MyContext |&self| {
field parallel_requests(&executor) -> ??? {
multiple_parallel_http_requests()
}
}
Где ???
равно FieldResult<Vec<AnyResource>>
(?).И если да, то как?