Execução de Função Atrasada

Beginner

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

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.