twisted中defer用法的补充


               
               
                    def _handleData(self):
        self.deferHandler().addCallback(lambda m: self.writeData(m))
        
   
    def deferHandler(self):
        if self.head[0] == self.protocol.MSG_REQUEST_PEERLIST:
            return defer.succeed(self._readPeerListData())
        elif self.head[0] == self.protocol.TS_RC_INFOHASH:
            return defer.succeed(self._readInfoData())
        else :
            return defer.succeed(False)
#将需要readInfodata里面包含了数据库操作,可能引起阻塞,所以将这个函数完成后应该调用的操作writeData用addcallback添加,让其自己去进行下一步操作