Valentino Volonghi wrote: > Tutte le callback hanno SEMPRE come argomento il valore > ritornato dalla callback precedente. > > La lambda non e` quindi necessaria. > Beh, si, lo sapevo e credo di averlo dimostrato nel codice. Forse mi ero spiegato male, parlavo di quando "la callback ha come argomento una deferred...", cioè al caso tipo:
@transact #decoratore che utilizza deferToThread def tt(arg1, arg2, arg3): return def funz(arg1): return dd = ... dd.addCallback... dd.addCallback(tt) dd.addCallback(funz) ... In questo caso accade che "funz" ha come unico argomento una deferred, e cosa può fare per attendere che sia finita? Quindi in genere io scrivo ... dd.addCallback(lambda x: tt(x, arg2, arg3)) dd.addCallback(funz) ... e "funz" viene chiamata esattamente alla fine della funzione "tt" e le viene passato correttamente l'argomento resituito (in questo caso None) E' stato il caso più difficile che mi sono trovato davanti quando mi misi a studiare twisted; spero di aver risolto in modo ottimale Alessandro _______________________________________________ Python mailing list [email protected] http://lists.python.it/mailman/listinfo/python
