telegram.ext.utils.promise.Promise¶
-
class
telegram.ext.utils.promise.Promise(pooled_function: Callable[[...], RT], args: Union[List[T], Tuple], kwargs: Dict[str, Any], update: object = None, error_handling: bool = True)¶ Bases:
objectA simple Promise implementation for use with the run_async decorator, DelayQueue etc.
Parameters: - pooled_function (
callable) – The callable that will be called concurrently. - args (
list|tuple) – Positional arguments forpooled_function. - kwargs (
dict) – Keyword arguments forpooled_function. - update (
telegram.Update|object, optional) – The update this promise is associated with. - error_handling (
bool, optional) – Whether exceptions raised byfuncmay be handled by error handlers. Defaults toTrue.
-
pooled_function¶ The callable that will be called concurrently.
Type: callable
-
args¶ Positional arguments for
pooled_function.Type: list|tuple
-
kwargs¶ Keyword arguments for
pooled_function.Type: dict
-
done¶ Is set when the result is available.
Type: threading.Event
-
update¶ Optional. The update this promise is associated with.
Type: telegram.Update|object
-
error_handling¶ Optional. Whether exceptions raised by
funcmay be handled by error handlers. Defaults toTrue.Type: bool
-
exception¶ The exception raised by
pooled_functionorNoneif no exception has been raised (yet).
-
result(timeout: float = None) → Optional[RT]¶ Return the result of the
Promise.Parameters: timeout ( float, optional) – Maximum time in seconds to wait for the result to be calculated.Nonemeans indefinite. Default isNone.Returns: Returns the return value of pooled_functionorNoneif thetimeoutexpires.Raises: object exception raised by pooled_function.
-
run() → None¶ Calls the
pooled_functioncallable.
- pooled_function (