有人能帮我理解我做错了什么,并提出解决办法吗。我是异步编程新手,它非常令人困惑。
<myFile.py>
import httpx
async def ping_api():
async with httpx.AsyncClient() as client:
sleep(1)
print('right after with')
sleep(1)
print('before await')
sleep(1)
response = await client.get(url, params=params)
sleep(1)
print('after await')
sleep(1)
data = response.json() # what's wrong here?
sleep(1)
print('after json')
sleep(1)
return data
<myFastAPI.py>
from myFile import ping_api
@app...
async def main():
data = await ping_api()
当我运行此命令时,会出现以下错误:
等待之前
等待之后
c:\users\foo\grok\site packages\httpx\ u client.py:1772:userwarning:unclosed<authlib.integrations.httpx\ u client.oauth2\ u client.asyncoauth2client对象位于0x000021f318ec5e0>。看见https://www.python-httpx.org/async/#opening-和关闭客户以获取详细信息。
警告,警告(
在json之后
上下文管理器不应该自动关闭连接吗?
这是图书馆里的错误还是我遗漏了什么?
这个response.json()是问题的原因还是其他地方的问题,但此时正好“打印”?
暂无答案!
目前还没有任何答案,快来回答吧!