В jQuery $.when(promise1, promise2...)
используется как главное обещание, чтобы представить общее состояние его детей. Затем мы можем приложить .done(callback)
к обещанию $.when
, так что, когда будет завершено выполнение ВСЕ promise1, promise2...
, будет выполнено callback
.
В Python (Торнадо) Future
действует аналогично обещанию в javascript, а fetch()
в AsyncHTTPClient
возвращает будущее.
В следующем коде у меня есть список фьючерсов
from tornado.httpclient import AsyncHTTPClient
httpclient = AsyncHTTPClient()
futures = [
httpclient.fetch("http://google.com")
httpclient.fetch("http://example.com")
httpclient.fetch("http://example.org")
]
def all_futures_done_callback():
...
Как выполнить all_futures_done_callback
когда все фьючерсы закончили?
Ответ Бена краток, но ваш более расширяемый, поэтому я принял ваш ответ. Спасибо вам обоим! –
@MKYung - Если честно, я никогда не использовал торнадо раньше ;-). Недавно я немного пообщался с обещаниями в своем опыте JS, поэтому решил, что попробую на другом языке. – mgilson