Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m323:learningunits:lu03:callbacks [2024/09/11 09:11] kmaurizimodul:m323:learningunits:lu03:callbacks [2024/09/11 09:27] (aktuell) – [Callbacks in der Asynchronen Programmierung] kmaurizi
Zeile 41: Zeile 41:
  
 ===== Callbacks in der Asynchronen Programmierung ===== ===== Callbacks in der Asynchronen Programmierung =====
 +
 +<WRAP center round info 60%>
 +Wir werden das asynchrone Programmieren nicht vertiefen am BZZ. Dies dürfen Sie dann an der Fachhochschule 😉
 +</WRAP>
 +
  
 Asynchrone Programmierung ist ein Ansatz, bei dem Operationen ausgeführt werden können, ohne den Ablauf des gesamten Programms zu blockieren. Ein häufiges Szenario für asynchrone Aufrufe sind Netzwerkanfragen, z. B. API-Aufrufe, bei denen nicht vorhersehbar ist, wie lange sie dauern werden. Asynchrone Programmierung ist ein Ansatz, bei dem Operationen ausgeführt werden können, ohne den Ablauf des gesamten Programms zu blockieren. Ein häufiges Szenario für asynchrone Aufrufe sind Netzwerkanfragen, z. B. API-Aufrufe, bei denen nicht vorhersehbar ist, wie lange sie dauern werden.
Zeile 125: Zeile 130:
     async with httpx.AsyncClient() as client:     async with httpx.AsyncClient() as client:
         try:         try:
-            response = await client.get('https://run.mocky.io/v3/685db531-06e7-4d66-bbf6-99de9f2feab3', timeout=5)+            response = await client.get('https://run.mocky.io/v3/685db531-06e7-4d66-bbf6-99de9f2feab3?mocky-delay=3000ms', timeout=5)
             print(response.text)             print(response.text)
         except httpx.RequestError as exc:         except httpx.RequestError as exc:
Zeile 144: Zeile 149:
 import httpx import httpx
 import asyncio import asyncio
 +
  
 async def fetch_data(url): async def fetch_data(url):
     async with httpx.AsyncClient() as client:     async with httpx.AsyncClient() as client:
         response = await client.get(url)         response = await client.get(url)
-        return response.json()+        return response.text 
  
 async def main(): async def main():
     urls = [     urls = [
-        'https://run.mocky.io/v3/685db531-06e7-4d66-bbf6-99de9f2feab3', +        'https://run.mocky.io/v3/685db531-06e7-4d66-bbf6-99de9f2feab3?mocky-delay=3000ms', 
-        'https://run.mocky.io/v3/2b9e0b96-6249-4e68-b83e-3da492bddbc0'+        'https://run.mocky.io/v3/685db531-06e7-4d66-bbf6-99de9f2feab3?mocky-delay=2000ms'
     ]     ]
     results = await asyncio.gather(*(fetch_data(url) for url in urls))     results = await asyncio.gather(*(fetch_data(url) for url in urls))
     for result in results:     for result in results:
         print(result)         print(result)
 +
  
 if __name__ == '__main__': if __name__ == '__main__':
  • modul/m323/learningunits/lu03/callbacks.1726038669.txt.gz
  • Zuletzt geändert: 2024/09/11 09:11
  • von kmaurizi