[pyar] Como hago 'fire' de un deferred en twisted ?

Emiliano Dalla Verde Marcozzi edvm en airtrack.com.ar
Mar Ago 16 13:05:16 ART 2011


El 16 de agosto de 2011 12:32, Natalia Bidart <nataliabidart en gmail.com>escribió:

> 2011/8/16 Emiliano Dalla Verde Marcozzi <edvm en airtrack.com.ar>
>
> <snip>
>
> > Pero bueno, esto de que sea obligatorio pasarle argumentos al metodo
> callback del deferred
> > me desconcierta, como es la onda ?
>
> Siempre tenés que pasarle un único parámetro a callback(). Lo que
> tenés que hacer, si querés ignorar ése parámetro, es algo así:
>
> def connectionMade(self):
>
>    deferred = Deferred()
>     deferred.addCallbacks(lambda _: self.syncTime(), self.errorHandler)
>     deferred.addCallbacks(self.sendString, self.errorHandler)
>     deferred.callback(None)  # o cualquier verdura
>

> Ahora bien, viendo tu ejemplo concreto, no veo el sentido de usar un
> deferred en connectionMade. Qué estás intentando hacer? Es decir, por
> qué agregaste un deferred en el método?
>
> Naty.


Gracias Natalia por tu resuesta :),
No me gusta mucho meterle el lambda para satisfacer a deferred.callback,
pero bue,
si no queda otra xD. Y toda la razon, no tiene sentido meter un deferred en
el metodo
connectionMade, gracias por hacermelo notar ;).
El metodo finalmente quedo asi:

 def connectionMade(self):

self.sendString(self.syncTime())

Y me vino re bien 'renegar' con esto, ya se para la proxima que a callback
le tengo que
pasar algo si o si, y que para funciones que no me tomen un parametro, las
puedo llamar
como valor de retorno de un lambda.

ありがとうございます / muchas gracias (en forma formal)


-- 
*Emiliano Dalla Verde Marcozzi*
Encargado de IT y Python Ninja Developer



San Juan 4879
Rosario. Argentina
Tel. (+54) 341 437 6878
www.airtrack.com.ar

“Si quieres calentar una roca siéntate encima de ella 100 años”.

- proyectos: https://bitbucket.org/edvm
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110816/21f1cf0c/attachment.html>


More information about the pyar mailing list