Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

339
Views
Llamar a la función asíncrona en Enum

Quiero refactorizar mi código de sync a async . Yo uso Python y FastAPI. Uso el método que llama a la función async en Enumaration.

Por ejemplo:

 from enum import Enum from app.story import get_story StoriesEnum = Enum( "StoriesEnum", {story: story for story in get_story.story_list}, )

get_story es una función async que devuelve la clase Story y tiene story_list .

¿Cómo puedo await el get_story.story_list ?

Lo intenté:

  • asincio.run()
  • get_event_loop()
  • generador asíncrono

sin resultado exitoso. No funcionan porque await está fuera de la función async .

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Según la documentación :

Es posible que haya notado que await solo se puede usar dentro de las funciones definidas con async def .

Pero al mismo tiempo, las funciones definidas con async def tienen que ser "esperadas". Por lo tanto, las funciones con async def solo se pueden llamar dentro de funciones definidas con async def también.

Por lo tanto, lo que podrías hacer es:

 import asyncio async def go(): return Enum("StoriesEnum", {s:s for s in (await get_story()).story_list.value}) StoriesEnum = asyncio.run(go()) print({e:e.value for e in StoriesEnum})

PD Sin embargo, realmente ayudaría si proporcionara un ejemplo reproducible mínimo .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!