タグ付けされた質問 「.when」

9
Deferredの配列を$ .when()に渡します
これが起こっていることの不自然な例です:http : //jsfiddle.net/adamjford/YNGcm/20/ HTML: <a href="#">Click me!</a> <div></div> JavaScript: function getSomeDeferredStuff() { var deferreds = []; var i = 1; for (i = 1; i <= 10; i++) { var count = i; deferreds.push( $.post('/echo/html/', { html: "<p>Task #" + count + " complete.", delay: count }).success(function(data) { $("div").append(data); })); …

4
jQuery Deferredの配列をどのように操作しますか?
データを特定の順序でロードする必要があるアプリケーションがあります。ルートURL、次にスキーマ、最後にさまざまなデータオブジェクトのスキーマとURLを使用してアプリケーションを初期化します。ユーザーがアプリケーションをナビゲートすると、データオブジェクトがロードされ、スキーマに対して検証され、表示されます。ユーザーがデータをCRUDすると、スキーマは初回パスの検証を提供します。 初期化に問題があります。Ajax呼び出しを使用してルートオブジェクト$ .when()をフェッチし、スキーマオブジェクトごとに1つずつ、promiseの配列を作成します。うまくいきます。コンソールにフェッチが表示されます。 次に、すべてのスキーマのフェッチが表示されるので、各$ .ajax()呼び出しが機能します。fetchschemas()は確かにpromiseの配列を返します。 ただし、その最後のwhen()句は起動せず、「DONE」という単語はコンソールに表示されません。jquery-1.5のソースコードは、$。when.apply()に渡すオブジェクトとして「null」が受け入れられることを示唆しているようです。渡された。 これはFutures.jsを使用して機能しました。このようにならない場合、jQuery Deferredの配列はどのように管理する必要がありますか? var fetch_schemas, fetch_root; fetch_schemas = function(schema_urls) { var fetch_one = function(url) { return $.ajax({ url: url, data: {}, contentType: "application/json; charset=utf-8", dataType: "json" }); }; return $.map(schema_urls, fetch_one); }; fetch_root = function() { return $.ajax({ url: BASE_URL, data: {}, contentType: "application/json; charset=utf-8", …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.