cho45/jsdeferred — pull request #14 by piroor (2011-10-09 15:18:43+00:00)
Title: parallel and earlier should accept array-like argument

JSDeferredが専用の名前空間に読み込まれてて、他の名前空間からJSDeferredのparallelを利用したときに、parallelの単一の引数としてArrayを渡した場合でも次のnextで渡ってくる値がArrayにならないという問題に遭遇しました。
原因は、引数がArrayかどうかの判定をinstanceofで行っているためです。
そこで、Array.isArrayが利用可能な場合はそれを使って判定し、なければlengthプロパティの有無で判定するという風にしてみました。

この方法のデメリットは、単一の引数としてArrayではないlengthプロパティを持ったオブジェクト（NodeListなど）を渡した場合にまでArrayと誤判定されてしまうという点です。実際のユースケースを考えるとこれでも問題ないのではないかと思っていますが、厳密さ・安全性という意味では元の版より後退している事になりますので、却下されても仕方がないとは思っております……