この問題は私を夢中にさせています。私は本当にばかげたことをしているに違いありませんが、それが何であるかわかりません。
Q promises ライブラリを jQuery で使用したいと考えています。私は Q のバージョン 0.9.6 と jQuery の 1.9.1 を持っています (両方とも bower 経由でインストールします)。
この議論は、(最後に)次のようなものが機能することを意味します。
var promise = Q.when($.get("https://github.com/kriskowal/q"));
これが jQuery バージョン 1.9.1 で Q を使用する方法であるかどうかは完全にはわかりません (promise に関して jQuery には多くの変更があったようです)。しかし、これを Firefox のコンソール (現在のページで読み込まれた Q と jQuery を使用) から起動すると、明らかに Ajax 呼び出しが正しく起動されます (Firebug はステータス コード 200 で返されることを意味します)。しかし、約束は拒否されたようです (私が知る限り)。
たとえば、次のようにします。
promise.inspect();
ステータスを拒否としてリストします。次のようなもので約束をトリガーすると:
var promise = Q.when($.get("https://github.com/kriskowal/q")).fail(function(x) { console.log("Failed"); })
メソッドに引数として渡されるものを見るとfail
、jQuery promise オブジェクトのように見えます (少なくとも私が知る限り)。失敗の「理由」)。
あらゆる順列や組み合わせを試しましたが、これ以上迷うのではなく、SO にアピールする必要があると考えました。
ここで何か助けていただければ幸いです。