タグ

jQueryとAjaxに関するkenjiro_nのブックマーク (9)

  • jQuery.Deferredを使って処理を並列化・直列化 - remonbonbon's weblog

    ajaxでない処理の場合。 deferred.resolve()をコールすることで、続くthen()を実行することができる。 直列つなぎ deferred.then()で接続する。 $.Deferred().resolve() .then(function() { console.log("serial 1"); }) .then(function() { console.log("serial 2"); }); つなぐ個数が可変の場合 var n = 10; var defer = $.Deferred().resolve(); for (var i=0; i<n; i++) { defer = defer.then(function() { console.log("serial", i); }); } defer.done(function() { console.log("d

  • async:false とは何か。或いは、非同期処理を諦めるのはまだ早い! - Qiita

    JavaScript は非同期処理が基 jQuery は非同期処理を簡単にしてくれる Knockout MVVM における非同期処理パターン の三立てでお送り致します。 JavaScript は非同期処理が基 最近、こんな記事をいくつか見かけました。 「jQuery.ajax で結果が反映されない!困ったら async:false だ!」 これは Tips とは言えません。 async:false にすると何が変わるのか、正しく認識していますか? jQuery の API リファレンス には、こうあります。 Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active. 同期リクエストは 一時的にブラウザをロックし、一

    async:false とは何か。或いは、非同期処理を諦めるのはまだ早い! - Qiita
  • 結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 - Qiita

    結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 一年ほど前に JavaScript - jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita [キータ] という記事を書きました。 で、一年経って、ふと、「もっと分かりやすくjQuery.Deferredの便利さを説明できるんじゃないか」と思い立ってざざざっと書いてみました。 小話と言うにはちょっと長いけど。 -- jQuery.Deferredを使うと嬉しいのは、jQuery.Deferredの仕様を満たす部品同士を簡単に組み合わせることが可能だからです。中には処理を書き下すことができるとかコールバックのネストを防げるのがいいとか言う人もいますが、個人的にこっちのほうがよっぽど重要だと感じます。 例えるならレゴブロックです。レゴブロックはあの凸と凹を持ってるブロックを自由に組み合

    結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 - Qiita
  • jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita

    続編も書きました : 結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 jQuery version1.5で導入されたjQuery.Deferredは、無くてもコードを書けるけど、使えば少しコードが綺麗かつ見通しが良くなる、という機能。 無くても書けるという機能がなかなか使われないというのは世の常なので、jQueryクックブック(O'REILLY)の中でも言及されていない、なんとも寂しい状況だ。 ちょっとここらで一肌脱いでやるか、という趣旨で書き始めたら無駄に長くなった。 とりあえず使ってみたい、という人は下の方の「jQuery.Deferred自体の使い方」までジャンプするとよい。 jQuery.Deferredとはどういう場面で使うものなのか コールバックを渡して非同期処理完了時にそれを呼び出してもらうような場面。 具体的には $.get('hoge',

    jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita
  • jQueryのajax()で返り値を得る方法 - 冬のソフトウェア海岸

    jQueryのAjax()で返り値がとれない!? こんなふうに書くと返り値はundefinedになってしまう。 function test(){ $.ajax({ type: 'GET', url: 'http://hoge.fuga' dataType: 'text', success: function(response){ return response; }, error: function(response){ return response; }); } var result = test(); // undefined これはajax()がデフォルトでは非同期通信をするためである。非同期通信とは、レスポンスが返って来る前に次の処理に行くことである。だから返り値を返す前に次の処理に行ってしまう。 解決策 1. 同期通信にしちゃう async: falseとすると、同期通信になる

    jQueryのajax()で返り値を得る方法 - 冬のソフトウェア海岸
  • 爆速でわかるjQuery.Deferred超入門

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。これまで、JavaScriptで非同期処理を書く上での問題として、コールバック地獄やエラー処理に例外が使えないことなどを解説してきました。 これらの問題に対処するライブラリの1つであるjQuery.Deferredに関して、もう少し丁寧に解説いたします。なお、jQueryのバージョンは記事執筆時点の最新である、1.9.1を想定しています。 jQuery.Deferredとは jQuery.DeferredとはjQueryのバージョン1.5から導入された、非同期処理をうまく扱うための標準モジュールです。使いこなすことで、以下のような効果が見込めます。 非同期処理を連結

    爆速でわかるjQuery.Deferred超入門
  • Deferredその1:何故をDeferred使うかの理由 - jQuery無双

    さて、jQuery.Deferred(以下、Deferred)の使い方についての記事を書こうかと思います。 Deferredを使う主なメリット ・コールバックの入れ子(ネスト)によるスパゲティコードを防げる。 ・可読性の高い並列処理のコードを書ける。 ・これにより非同期処理の記述や処理をスムーズに進められる。 とまあ、このようなメリットがあります。 まずは、このDeferredを敢えて使わないパターンをいくつか挙げて、その後にDeferredを使った簡単な処理を記述しようかと思います。 なお、Deferredの様々な詳細な書き方とかについては、他の記事に書いていきます。 ここではDeferredを使用しないパタートの比較という事で。 Deferredを使わないパターン リクエストのパラメーターに文字列を囲んで返すテスト用のPHP 1.このパラメータは"contents"があり、"パラメータ

  • スクロール時に追加的にコンテンツを読み込むには?

    jQuery Mobileは、jQueryを拡張するライブラリ(プラグイン)の一種で、名前の通り、スマホ/タブレットに代表されるモバイル対応アプリを開発するための機能を提供します。jQuery Mobileの導入方法や使い方、jQuery Mobileが提供する主要機能については、「jQuery Mobile逆引きリファレンス: jQuery Mobileを利用するには?」を参照してください。

  • JavaScript++かも日記 - 1997年からの

    Libraのハッカソンやってるという話は先日「HackLibra、最初のオンラインハッカソン」で書きました。 …

  • 1