<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">I'm not arguing 'chain' be removed. I'm convinced at this point its worth including, I'm just debating the method name here. Sorry if it's just bikeshedding at this point, but on the face of it, the two methods seem hard to distinguish, and while 'chain' might be a better name for some hypothetical monadic style, why not leave it up to some library to give the method a facelift. The same way that the promise API is being kept light, and will likely still be wrapped by things like the Q library for additional functionality, I expect some monadic focused library will be used if using promises in the monadic style. Worst case scenario, you just add an alias on the Promise prototype.<br>


</div></div></div></blockquote><div><br><br></div></div></div><div>I agree with Russell that `chain` is a little ambiguous when juxtaposed with `then. Around the time this conversation first kicked up I'd proposed this API and referred to what Tab calls `chain` as the "one-step resolver function". I still think `resolve` would be a pretty good, reasonably self-documenting name -- especially compared to `chain`. You can describe `then` as a recursive `resolve` and the difference should be obvious.<br>
</div></div></div></div></blockquote><div><br></div><div style>Yes, I had suggested the name "resolveOnce" as I think it really helps describe what it does in relation to 'then'. As someone learning for the first time, I would likely read that and think, "Only once. That means something else resolves more than once." Reading the docs for 'then' and seeing the examples, would make it pretty clear to me that 'then' *just works* while resolveOnce is more of a low level method. </div>
</div><br></div></div>