[pyar] Equivalente a $.when()

Alejandro Santos listas en alejolp.com
Sab Mayo 19 23:53:56 ART 2012


2012/5/19 Martin Cerdeira <martincerdeira en gmail.com>:
> Gente, como va? Para quienes conocen jQuery (dudo que alguien no lo
> conozca) les sonará el método $.when() [0], a los que no,
> básicamente[1] lo que hace es llamar a n funciones asincronicas
> (generalmente) y, definirle callbacks, por ejemplo:
>
> $.when($.ajax("/page1.php"), $.ajax("/page2.php"))
>   .then(myFunc, myFailure);
>
> La cuestión es, existe un equivalente en el mundo pythonero?
>

Uhm, hay un problema de semática, no termino de ver cómo querés
traducirlo, desde JS a Python.

En JS, cuando usás "ajax" estás haciendo una llamada asincrónica, y el
browser se encarga de llamar al callback adecuadamente.

En Python, ¿qué grupo de funciónes asincrónicas estás intentando invocar?

Si, por otro lado, lo que estás buscando es llamar una serie de
funciones, y tener alguna clase de notificación cuando ninguna de
ellas dispare una excepción, eso se puede mas o menos así:

>>> def whenThen(it, sucessCallback, failureCallback):
...     try:
...             for f in it:
...                     f()
...             sucessCallback()
...     except:
...             failureCallback()
...

Fijate que es una variante de la función map() sin recibir los valores
de la evaluación de las funciones (la doc de jQuery está un poco pobre
en cuanto a qué reciben los callbacks).


-- 
Alejandro Santos



More information about the pyar mailing list