タグ

JavascriptとDeferredに関するmuamqmのブックマーク (2)

  • 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と非同期処理 - 素人がプログラミングを勉強していたブログ
  • caolan/asyncを使ったNode.jsのフロー制御 - 開発^3

    JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)の16日目です。 @koichikさんの13日目の記事にも書かれているように、Node.jsにて非同期処理を管理する方法には以下の2種類があります 非同期処理の呼び出し時にコールバック関数を与える。処理が終わったらエラーの有無と、結果が通知される。 EventEmitterに対してon/onceでEventListenerをセットして非同期処理を実行する。非同期処理の実行によって発生したイベントやエラーはリスナーに通知される。 後者の説明はkoichikさんの記事にお任せして、この記事は前者を扱うライブラリcaolan/asyncについてみていきたいと思います。 caolan/asyncって? https://github.com/caolan/async で公開されているフロー制

    caolan/asyncを使ったNode.jsのフロー制御 - 開発^3
  • 1