код здесь:Каким образом будущее автоматически преобразуется в наблюдаемое?
https://github.com/ReactiveX/RxPY/blob/master/examples/autocomplete/autocomplete_asyncio.py#L63
searcher = query.flat_map_latest(search_wikipedia)
def search_wikipedia(term):
"""Search Wikipedia for a given term"""
url = 'http://en.wikipedia.org/w/api.php'
params = {
"action": 'opensearch',
"search": term,
"format": 'json'
}
# Must set a user agent for non-browser requests to Wikipedia
user_agent = "RxPY/1.0 (https://github.com/dbrattli/RxPY; [email protected]) Tornado/4.0.1"
url = url_concat(url, params)
http_client = AsyncHTTPClient()
return http_client.fetch(url, method='GET', user_agent=user_agent)
Функция search_wikipedia возвращает будущее, в то время как Observable.flat_map_latest() принимает функцию, которая должна вернуть наблюдаемым.
Мой вопрос: Как будущее возвращается функцией search_wikipedia() автоматически преобразуется в наблюдаемый? Существует Observable.from_future() может преобразовать будущее в наблюдаемый. Но его следует называть явно.