如何在 FastAPI 中使用 Async/await?

How to use Async/await in FastAPI?

我有一条路线可以接受来自用户的请求和 return 数据给用户。还有步骤

  1. 用户向我的应用发送请求
  2. Read 来自数据库的数据
  3. Update 我的数据库
  4. Return 数据给用户

我希望上面的第 3 步和第 4 步同时发生,这样用户就不会等待 update 操作。我该怎么做?

您可能正在寻找的东西叫做 background task,幸运的是,FastAPI 有一个关于如何实现它的很棒的文档。 Here you have!

但请注意,您的标题可能暗示与您真正的问题有所不同。 async/await 会让你远离阻塞你的服务器,但是通过后台任务你可以让你的用户等待响应的时间更少。话虽如此,如果您要在不知道其他任何事情的情况下发送响应,请记住发送 202 状态代码(已接受)。