…f available. That should make it pretty much as fast as possible. when.map now allows the mapFunc to return a promise.
…interleaving of promise chaining in *highly* async systems like wire.js. Luckily this never made it to master!
…trying to reproduce an issue seen in wire.js. Unfortunately (or fortunately?) these pass.
… promise with the inputPromise's resolution value could be returned instead of the callback's value.
…hat had already been made in dev
…with an intermediate promise. Unit test to verify.
…ith a chained promise
…the results of this jsperf: http://jsperf.com/noop-functions-in-loops that shows that noop functions are still way more painful than they should be in most every browser. oh, and saved 4 more bytes.
…romise.then(success).then(success, fail) and promise was rejected, fail would never be called! Fixed
…ctness. More correct handling of the situation where you call when(value, callback) and callback itself returns a promise. That should forward to the new promise *just like if value were a promise*, but was not. Otherwise, it becomes much harder to reason about when()! As far as I can tell, most other promise implementations (Dojo, promised-io, uber) don't handle this case at all, but I believe Q does (haven't actually test it, just inspected the code).
… passed directly to resolve() was itself a promise. Handling that case also allowed when() to be refactored to be slightly smaller
…nternally, so results are correctly ordered
… decide the best approach
…duce, and any.