Понимание Python Twisted Looping Call — Сохранение возврата функции LoopingCall

Я использую Twisted и делаю циклический вызов каждые x секунд.

Функция, которую я использую для циклических вызовов, делает оператор возврата.

def f():
    # Obtain stuff
    return stuff

def main():
    LoopingCall(f).start(x)

Как я могу получить результат возврата f?

Спасибо!


person RandomGuyqwert    schedule 02.12.2015    source источник


Ответы (1)


Откуда вы хотите «получить» результат f? LoopingCall просто вызывается реактором, поэтому этот вопрос не имеет особого смысла. Если вы хотите, чтобы main как-то обращался к результату, это не имеет смысла, потому что main запускается один раз, а f запускается потенциально неограниченное количество раз.

Так что, возможно, вы просто хотите сделать это вместо этого:

def f():
    # Obtain stuff
    return stuff
def do_something_with_f():
    result = f()
    do_something(result)

def main():
    LoopingCall(do_something_with_f).start(x)
person Glyph    schedule 02.12.2015