美文网首页Python
python 函数回调

python 函数回调

作者: SkTj | 来源:发表于2019-10-18 10:46 被阅读0次

    回调函数

    def apply_async(func, args, , callback):
    # Compute the result
    result = func(
    args)

    # Invoke the callback with the result
    callback(result)
    

    调用

    def print_result(result):
    ... print('Got:', result)
    ...
    def add(x, y):
    ... return x + y
    ...
    apply_async(add, (2, 3), callback=print_result)
    Got: 5
    apply_async(add, ('hello', 'world'), callback=print_result)
    Got: helloworld

    协程处理回调

    还有另外一个更高级的方法,可以使用协程来完成同样的事情:

    def make_handler():
    sequence = 0
    while True:
    result = yield
    sequence += 1
    print('[{}] Got: {}'.format(sequence, result))
    对于协程,你需要使用它的 send() 方法作为回调函数,如下所示:

    handler = make_handler()
    next(handler) # Advance to the yield
    apply_async(add, (2, 3), callback=handler.send)
    [1] Got: 5
    apply_async(add, ('hello', 'world'), callback=handler.send)
    [2] Got: helloworld

    相关文章

      网友评论

        本文标题:python 函数回调

        本文链接:https://www.haomeiwen.com/subject/ywyfpctx.html