Currently this can only be a scaler value. On timeout, calls the fail function and returns its result instead.