タグ

deferredに関するtaro-maruのブックマーク (10)

  • jQueryのDeferredとPromise - tkawachi Blog

    JavaScript(というか CoffeeScript)って90年代にブラウザ上で使われていた頃のイメージが拭えず、どうも気持ち悪くて逃げて回ってたんですが、事情があって最近は渋々書いてます。 JavaScripterの皆様にとっては何を今更だとは思いますが jQuery.Deferredを使って楽しい非同期生活を送る方法 を読んで Deferred 便利だな、と思ったので理解したところをメモしておきます。 利用シーン $.get() ってエラーハンドリングできないのか。使えないなー。と思ったとき 複数の AJAX リクエスト(などの非同期処理)を同時に開始して、全部終わったら何かしたいとき。 Deferred object キーになるのは Deferred object です。 状態 Deferred object は状態を持ちます。状態は3つのうちいずれか。 未解決(unresolv

  • 爆速でわかる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/Promisesと非同期処理 - 素人がプログラミングを勉強していたブログ

    概念/仕組み Deferred/Promisesは非同期処理を簡単にするための取り決め。 callback hellと呼ばれているような、非同期処理によるコールバックのネストを軽減することができて非常に便利。 慣れれば便利だが、一見どう使えばいいのか分かりづらいので、少し解説を書く。 ここではPromises/Aという仕様を実装したQというライブラリを使うが、jQuery.Deferredなどもほぼ同じである。 まず、Deferred/Promisesは、関数のreturn、try/catchの非同期版である。 www.example.comの内容を取得し、正しく取得できたら中身を表示し、取得できなければエラーを表示する、というプログラムは 同期的なコードでは、 function get() { var req = new XMLHttpRequest(); req.open('GET',

    Deferred/Promisesと非同期処理 - 素人がプログラミングを勉強していたブログ
  • jQueryでアニメーション終了時のcallback - Webtech Walker

    jQueryでfadeOutとかのアニメーションして終わったらなんかするといったときにcallback関数を引数に指定するのとDeferred使う方法があるんだけどこの二つは挙動が違う。 こういうHTMLがあったとして <div>foo</div> <div>bar</div> <div>baz</div> まず以下のようなcallback関数の場合はそれぞれのfadeOutが終わるごとに呼ばれる。 $('div').fadeOut(function() { console.log('fin'); }); つまり'fin'が3回出力される。 一方Deferredを使った場合はこんな感じ。 $('div').fadeOut.promise().done(function() { console.log('fin'); }); .promise()がDeferredオブジェクトを返すので.do

    jQueryでアニメーション終了時のcallback - Webtech Walker
  • jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita

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

    jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita
  • ijbk-Blog » jQuery: Deferred オブジェクト

    Deferred オブジェクトを利用すると非同期処理の並列・直列処理が出来る。 直列処理 複数の非同期処理を実行するとてんでんばらばらに実行される。 例えば、a() を3秒で完了する非同期処理、b() を2秒で完了する非同期処理、それぞれ成功・失敗の2通りの結果を返すとする(例えば Ajax 通信の成功と失敗)。このとき、 a(); b(); を実行すると、実行後、2秒後にまず b() が完了し、その1秒後に a() が完了する(右図)。 Deferred オブジェクトは3つの状態: unresolved (初期状態) resolved (成功) rejected (失敗) をとる。Ajax 関数の返り値は Deferred オブジェクトであり、通信に成功すると resolved、失敗すると rejected となる。 この状態を遷移させるメソッドを利用すると、a() が完了した後に b(

  • Script Junkie

    Creating Responsive Applications Using jQuery Deferred and Promises Julian Aubourg, Addy Osmani | March 24, 2011 Today we’re going to explore the concept of deferreds - an important feature found in JavaScript toolkits such as dojo and MochiKit, which recently also made its debut to popular JavaScript library jQuery. Deferreds offer a solution for abstracting non-blocking elements (such as the res

    Script Junkie
  • jQuery Deferredのpipeにおける返り値の扱い

    pipeは返す値で繋ぐ処理のパラメーターが変わるのだけど、たまにしか使わないので毎回動作を忘れてソースを見ている。バージョン1.7.2での動き。 deferred.pipe(function(data) { ... return ?; }); 以降の処理で引数が不要なら何も返さなくていい。引数が1つの場合は return foo; のようにそのまま返せばいい。複数の引数を送る場合はDeferredオブジェクトを返さないといけない(引数が1つの場合は同じ処理を裏でやってくれている)。 return $.Deferred().resolve(foo, bar); // コンテキストどうでもいい return $.Deferred().resolveWith(this, [foo, bar]); // どうでもよくない 何もせずにそのまま値を引き継ぐ場合は(引き継ぎたいパラメーターでresolv

  • jQueryのDeferredとPromiseで応答性の良いアプリをー実践編 | ゆっくりと…

    前回 は、「Creating Responsive Applications Using jQuery Deferred and Promises」 の記事と jQuery のリファレンスを翻訳し、Deferred の解説をお届けしました。が、今一歩、Deferred オブジェクトの うれしさ をお伝えできていなかったように思います。今回はその反省をふまえ、単なる翻訳ではなく、元記事の文脈に沿って、Deferred オブジェクトをどのように使うと/何がうれしくて/どうしあわせになるのか、私が学習して得た事をお伝えしたいと思います。 今回は、4jsfiddle を記事に埋め込んでいます。jsfiddle 上で自由に編集してテストしてもらえばうれしいのですが、4すべて実行すると1.4MBものリソースを読み込む事になり、ブラウザに優しくありません。すぐに タブや をクリックせずに、 タブ

  • jQueryのDeferredとPromiseで応答性の良いアプリをー基本編 | ゆっくりと…

    jQuery 1.6 が既にリリース されていますが、1.5 で追加された Deferred を勉強する意味で、Script Junkie から Creating Responsive Applications Using jQuery Deferred and Promises を翻訳してみましたので、共有したいと思います。著者の Julian Aubourg は、jQuery のコアチーム・メンバーとして、Ajax モジュールの書き換えと Deferred 導入を指揮した方だそうです。 記事の途中、各メソッドの説明部分は、jQuery ドキュメントの翻訳に差し替えていますので、リファレンスとして使ってもらうのも良いかと思います。 Deferred や Promise は、概念や用語が少々分かりにくいところがあるかと思いますので、読んでくださった方の、少しでも理解の助けになれば幸いです

  • 1