Python中一个接口调用另一个接口不需要返回数据,除了异步还有没有其他方法?

代码 用 django 做的测试代码
我不需要 test 接口的返回结果,直接返回前端数据 除了异步处理还有没有其他的方法?

def startPage(request):
try:
data = {‘start’:func.now_time()}
test()
data[‘end’] = func.now_time()
return HttpResponse(func.visitSuccess(data=data))
except:
return HttpResponse(func.visitFail())

def test():
print(func.now_time())
time.sleep(10)
print(func.now_time())


postman 返回结果
{
“code”: 200,
“msg”: “成功”,
“data”: {
“start”: “2018-11-09 09:42:58”,
“end”: “2018-11-09 09:43:08”
}}
Python中一个接口调用另一个接口不需要返回数据,除了异步还有没有其他方法?


2 回复

直接调用就行,不需要特殊处理。

在Python里,一个函数(接口)调用另一个函数,调用方默认会等待被调用方执行完毕。如果你不需要返回值,直接调用后不接收或处理返回值即可。这和你是否使用异步(asyncio)是两回事。

举个例子:

def background_task():
    # 模拟一个耗时操作,比如写日志、发通知
    print("开始执行后台任务...")
    # ... 这里是一些操作 ...
    print("后台任务执行完毕。")
    # 这个函数没有return语句

def main_api():
    print("主接口开始处理请求。")
    # 直接调用,不关心它的返回结果
    background_task()
    # 继续执行主逻辑
    print("主接口继续处理其他逻辑。")
    return "主接口处理完成"

# 测试
result = main_api()
print(f"最终结果: {result}")

运行这段代码,你会看到background_task里的print语句都会执行,但main_api只返回自己的字符串。这就是典型的同步“调用并忘记”模式。异步(asyncio)是在你需要同时处理大量这类不依赖返回值的调用,且不想阻塞主线程时才考虑的优化方案。对于绝大多数简单场景,直接同步调用是最清晰、最不容易出错的方式。

总结:对于不需要返回值的调用,直接同步调用即可。


回到顶部