zoukankan      html  css  js  c++  java
  • Twisted模块

    from twisted.web.client import getPage, defer
    from twisted.internet import reactor
    
    def callback(contents):
        print(contents)
    
    url_list = ['http://www.bing.com', 'http://www.baidu.com', ]
    
    for url in url_list:
        deferred = getPage(bytes(url, encoding='utf8'))
        deferred.addCallback(callback)
    
    reactor.run()

    事件执行只有开始没有结束,因此需要规定某个目标任务的完成来终止事件

    from twisted.web.client import getPage, defer
    from twisted.internet import reactor
    
    def callback(contents):
        print(contents)
    url_list = ['http://www.bing.com', 'http://www.baidu.com', ]
    
    _active = []
    
    for url in url_list:
        d = getPage(bytes(url, encoding='utf8'))
        d.addCallback(callback)
        _active.append(d)
    
    def all_done(arg):
        reactor.stop()
    
    xx = defer.DeferredList(_active)
    xx.addBoth(all_done)
    
    reactor.run()

    将defer对象加入一个列表_active中以此来用defer方法DeferredList来监听该列表中的任务是否完成回调,在执行回调之后addBoth(表示无论错误还是成功都会执行该方法设置的函数)

  • 相关阅读:
    BUAA OO 2019 第三单元作业总结
    OpenJML入门
    BUAA OO 2019 第二单元作业总结
    BUAA OO 2019 第一单元作业总结
    Spring MVC原理
    Spring AOP原理
    Spring DI原理
    Spring IOC原理分析
    观察者模式
    装饰模式
  • 原文地址:https://www.cnblogs.com/c491873412/p/7834338.html
Copyright © 2011-2022 走看看