Una llamada a un método asíncrono es una llamada a un método que no espera a que el método llamado se complete antes de regresar. En su lugar, el método que llama continúa ejecutándose mientras el método llamado se ejecuta en segundo plano. Las llamadas a métodos asíncronos pueden mejorar el rendimiento de una aplicación al permitir que el método que llama continúe ejecutándose mientras el método llamado se ejecuta en segundo plano.
¿Qué es una llamada sincrónica y una llamada asincrónica? Una llamada sincrónica es una llamada de bloqueo en la que la persona que llama está bloqueada hasta que la función llamada regresa. Una llamada asíncrona es una llamada no bloqueante en la que la persona que llama no está bloqueada hasta que la función llamada regresa.
¿La API es sincrónica o asincrónica?
API significa "Application Programming Interface" (interfaz de programación de aplicaciones). Una API es un conjunto de reglas y especificaciones que los programas de software pueden seguir para comunicarse entre sí. Es básicamente un contrato que define cómo dos piezas de software van a interactuar entre sí.
Una API puede ser sincrónica o asincrónica. Una API sincrónica es aquella en la que quien la llama debe esperar a que la API termine su trabajo antes de continuar. Una API asíncrona es aquella en la que la persona que llama no tiene que esperar a que la API termine su trabajo antes de continuar.
En general, las APIs son sincrónicas. Esto se debe a que la mayoría de las APIs están diseñadas para ser utilizadas por humanos, que están acostumbrados a esperar a que las cosas sucedan. Las APIs asíncronas suelen estar diseñadas para ser utilizadas por ordenadores, que pueden hacer muchas cosas al mismo tiempo.
¿Cómo se llama a un método asíncrono desde un método síncrono?
Hay varias formas de llamar a un método asíncrono desde un método síncrono. Una forma sería utilizar el método Task.Run:
Task.Run(() => AsyncMethod());
Otra forma sería utilizar el método Task.Factory.StartNew:
Task.Factory.StartNew(() => AsyncMethod());
Y otra forma sería utilizar el método Task.WhenAll:
Task.WhenAll(AsyncMethod());
¿Por qué las llamadas a la API son asíncronas?
Las llamadas a la API son asíncronas porque pueden tardar en completarse. Al hacer la llamada asíncrona, la persona que llama no tiene que esperar a que la llamada a la API se complete antes de continuar. Esto puede mejorar el rendimiento, especialmente si la llamada a la API tarda mucho en completarse.
Las llamadas a la API son sincrónicas.
Debido a que las llamadas a la API pueden llevar algún tiempo, a menudo son asíncronas. Al hacer la llamada asíncrona, la persona que llama no tiene que esperar a que la llamada a la API se complete antes de continuar. Esto puede mejorar el rendimiento, especialmente si la llamada a la API tarda mucho en completarse.