You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python POST请求耗时超X秒时显示等待提示?

实现仅当请求超时X秒时显示等待提示

可以用线程定时器来实现这个需求——先启动一个定时器,设定X秒后打印提示;如果请求在X秒内完成,就立刻取消这个定时器,这样快请求就不会弹出多余提示。

以下是修改后的代码示例(以等待阈值2秒为例):

import requests
import threading

def show_wait_prompt():
    print("Please wait", flush=True)  # flush=True确保立刻输出,避免缓冲

try:
    # 设置等待阈值,比如2秒
    wait_threshold = 2
    # 启动定时器,X秒后执行提示函数
    timer = threading.Timer(wait_threshold, show_wait_prompt)
    timer.start()
    
    # 发送POST请求
    r = requests.post(url="http://localhost/test.php")
    r_data = r.json()
    
    # 请求完成,取消定时器(如果还没触发的话)
    timer.cancel()
except Exception as e:
    # 发生异常也要取消定时器,避免后续弹出提示
    timer.cancel()
    # 这里可以添加异常处理逻辑,比如打印错误
    print(f"请求出错: {e}")

关键逻辑说明

  • threading.Timer会在单独线程中等待指定时间,不会阻塞主线程的请求操作
  • 请求完成后调用timer.cancel(),如果定时器还没到时间,就不会执行提示函数
  • flush=True是为了确保提示信息能立刻显示在控制台,避免因输出缓冲导致延迟
  • 异常分支里也要取消定时器,防止请求出错后定时器仍触发提示

你可以根据需求调整wait_threshold的值,比如改成1秒或3秒,适配不同的场景。

内容的提问来源于stack exchange,提问作者MarcusDeroy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:11:02