[Python-ideas] The async API of the future: Twisted and Deferreds
Guido van Rossum
guido at python.org
Sun Oct 14 20:17:51 CEST 2012
On Sun, Oct 14, 2012 at 10:55 AM, Jasper St. Pierre
<jstpierre at mecheye.net> wrote:
> (Sorry if this is in the wrong place, I'm joining the conversation and
> I'm not sure where mailman will put it)
>
>> Alternatively, yielding a future (or whatever ones calls the objects
>> returned by *_async()) could register *and* wait for the result. To
>> register without waiting one would yield a wrapper for the future. So
>> one could write
>
> What would registering a Future do? As far as I understood it, the
> plan here is that a Future was just a marker for an outstanding
> request:
>
> def callback(result):
> print "The result was", result
>
> def say_hello(name):
> f = Future()
> f.resolve("Hello, %s!")
> return f
>
> f = say_hello("Jeff")
> f.add_callback(callback)
>
> The outstanding request doesn't have to care about socket connections;
> it's just a way to pass around a result that hasn't arrived yet. This
> is pretty much the same as Deferreds/Promises, with a different name.
> There's no reactor here to register here, because there doesn't need
> to be one.
The Future class itself probably shouldn't interface with the event
loop. But an operation that creates and returns a Future certainly
can.
--
--Guido van Rossum (python.org/~guido)
More information about the Python-ideas
mailing list