summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/docs/server2/future.py
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/extensions/docs/server2/future.py')
-rw-r--r--chrome/common/extensions/docs/server2/future.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/common/extensions/docs/server2/future.py b/chrome/common/extensions/docs/server2/future.py
index 0e9ef24..4a903440 100644
--- a/chrome/common/extensions/docs/server2/future.py
+++ b/chrome/common/extensions/docs/server2/future.py
@@ -7,6 +7,13 @@ import sys
_no_value = object()
+def Collect(futures):
+ '''Creates a Future which returns a list of results from each Future in
+ |futures|.
+ '''
+ return Future(delegate=Gettable(lambda: [f.Get() for f in futures]))
+
+
class Gettable(object):
'''Allows a Future to accept a callable as a delegate. Wraps |f| in a .Get
interface required by Future.