Ejecución de función retrasada

Beginner

This tutorial is from open-source community. Access the source code

Introducción

En Python, a veces necesitamos retrasar la ejecución de una función durante un determinado tiempo. Esto puede ser útil en escenarios donde queremos esperar a que ocurra un determinado evento antes de ejecutar una función. En este desafío, se te pedirá crear una función que retrasela ejecución de otra función durante una cantidad especificada de tiempo.

Ejecución de función retrasada

Escribe una función delay(fn, ms, *args) que tome una función fn, un tiempo en milisegundos ms y cualquier número de argumentos args. La función debe retrasar la ejecución de fn durante ms milisegundos y luego invocarla con los argumentos proporcionados. La función debe devolver el resultado de invocar fn.

Para retrasar la ejecución de fn, utiliza la función time.sleep(). Esta función toma un número de segundos como argumento, por lo que necesitarás convertir ms a segundos antes de pasarlo a time.sleep().

from time import sleep

def delay(fn, ms, *args):
  sleep(ms / 1000)
  return fn(*args)
delay(lambda x: print(x), 1000, 'later') ## imprime 'later' después de un segundo

Resumen

En este desafío, se te pidió crear una función que retrasara la ejecución de otra función durante una cantidad especificada de tiempo. Aprendiste cómo utilizar la función time.sleep() para retrasar la ejecución de una función y cómo convertir milisegundos a segundos.