diff --git a/promise/schedulers/asyncio.py b/promise/schedulers/asyncio.py
index <HASH>..<HASH> 100644
--- a/promise/schedulers/asyncio.py
+++ b/promise/schedulers/asyncio.py
@@ -1,6 +1,6 @@
 from __future__ import absolute_import
 
-from asyncio import get_event_loop
+from asyncio import get_event_loop, Event
 
 
 class AsyncioScheduler(object):
@@ -9,3 +9,14 @@ class AsyncioScheduler(object):
 
     def call(self, fn):
         self.loop.call_soon(fn)
+
+    def wait(self, promise, timeout=None):
+        e = Event()
+
+        def on_resolve_or_reject(_):
+            e.set()
+
+        promise._then(on_resolve_or_reject, on_resolve_or_reject)
+
+        # We can't use the timeout in Asyncio event
+        e.wait()
Improved asyncio scheduler