[Futures] Possible to multiply-resolve a resolver in weird ways

In the resolver's resolve algorithm, the first step is to check the 
"resolved flag" and bail out if set.  However the algorithm does not 
always set this flag.  Is that purposeful?

Even if I posit that it is, this leads to a slightly weird situation. 
Say I call resolve() with an object whose "then" getter accepts or 
rejects the resolver.  Then we'll end up calling the then method and 
passing in our new callbacks, even though the resolver is already resolved.

Should the resolved flag be rechecked after the [[Get]], perhaps?

-Boris

Received on Friday, 31 May 2013 04:47:25 UTC