2015-12-02 6 views
1

Я использую Twisted и создаю Looping Call каждые x секунд.Понимание вибровольного вызова Python - сохранение возврата функции LoopingCall

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

def f(): 
    # Obtain stuff 
    return stuff 

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

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

Спасибо!

ответ

0

Где вы хотите «получить» результат 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) 

 Смежные вопросы

  • Нет связанных вопросов^_^