Introdução
Em Python, por vezes precisamos de atrasar a execução de uma função por um determinado período de tempo. Isto pode ser útil em cenários onde queremos esperar que um determinado evento ocorra antes de executar uma função. Neste desafio, será solicitado que crie uma função que atrasa a execução de outra função por um período de tempo especificado.
Execução de Função Atrasada
Escreva uma função delay(fn, ms, *args) que recebe uma função fn, um tempo em milissegundos ms e qualquer número de argumentos args. A função deve atrasar a execução de fn por ms milissegundos e, em seguida, invocá-la com os argumentos fornecidos. A função deve retornar o resultado da invocação de fn.
Para atrasar a execução de fn, use a função time.sleep(). Esta função recebe um número de segundos como argumento, pelo que precisará de converter ms em segundos antes de passá-lo para time.sleep().
from time import sleep
def delay(fn, ms, *args):
sleep(ms / 1000)
return fn(*args)
delay(lambda x: print(x), 1000, 'later') ## prints 'later' after one second
Resumo
Neste desafio, foi-lhe pedido que criasse uma função que atrasa a execução de outra função por um período de tempo especificado. Aprendeu a usar a função time.sleep() para atrasar a execução de uma função e como converter milissegundos em segundos.