123456789101112131415161718 |
- from threading import Thread, Event
- class ThreadScheduler(object):
- def call(self, fn):
- thread = Thread(target=fn)
- thread.start()
- 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)
- waited = e.wait(timeout)
- if not waited:
- raise Exception("Timeout")
|