- From: David Bruant <bruant.d@gmail.com>
- Date: Tue, 14 May 2013 13:29:14 +0100
- To: Sean Hogan <shogun70@westnet.com.au>
- CC: public-script-coord@w3.org
Le 14/05/2013 04:12, Sean Hogan a écrit : > Hi David, > > Thanks for the links. I tried to read all the Future related comments > on this mailing list and the W3 DOM list and didn't see these issues > raised, though I thought it likely they were items of discussion > somewhere. No worries :-) The discussion spread out in a lot of places. >>> 7. The `done` method definitions seem to have a couple of typos. >>> In one place it returns `void`, in another it returns a new Future. >>> I believe it is supposed to return the context Future so that `done` >>> can be chained. > > > I see that the inconsistency in the spec has been fixed. I assumed > chaining would be allowed since > > future.done().done() > > would be the same as > > future.done(); future.done() > > I am neither for nor against chaining `done` - it is a non-issue anyway. Oh... You would want .done to return the same future. f.done() === f as opposed to what happens in then f.then(function(){}) !== f I don't see a use for that. My experience with Q is that .done is used to end the promise "channel". >> The purpose of done is to avoid a to chain so that uncaught errors >> aren't propagated without being caught. When you call .done and the >> last promise had an error, the devtools can tell you so (telling you >> before .done could be confusing as the error might be later caught) >> > > `.done()` **does not** provide a guarantee against silent failure. It does in the Q library. It will also with native support in combination with devtools. David
Received on Tuesday, 14 May 2013 12:29:43 UTC