@wraps(func)
def wrapper(*args, **kwargs):
    'pre-callback, target function call and post-callback'
    return wait_until(timeout, retry_interval, func, value, op, *args, **kwargs)
pre-callback, target function call and post-callback
@wraps(func)
def wrapper(*args, **kwargs):
    
    return wait_until(timeout, retry_interval, func, value, op, *args, **kwargs)