kawama.jp

JSDeferredでjavascriptの非同期処理の問題を解決

カテゴリ: Ajax,JavaScript — タグ: , , — 2011年2月24日 22:12 — Comments (0)hatebu count

javascriptは非同期処理が基本です。
プログラムを上から下に順番に記述しても、それが必ず順番通りに実行されるわけではありません。

簡単な処理を作るときには問題になりませんが、Aを実行した結果によってBまたはCを実行する、みたいな処理がある場合、Aの実行が終わるまで待ったずに条件分岐を行ってしまう、というようなことがよく起こります。

これを解消するためにコールバックを使うのですが、扱いがけっこう面倒です。

そこでJSDeferredが登場します。

http://cho45.stfuawsc.com/jsdeferred/doc/intro.html

Deferを辞書で調べたところ、読みは「ディファー」、意味は「延期された; 繰延べ扱いの; 据え置きの」と出ました。

これは公式サイトのサンプルコード。

next(function () {
alert("Hello!");
return wait(5);
}).
next(function () {
alert("World!");
});

こう書くことで「Hello!(5秒停止)Worlds!」という実装ができます。すばらしい!

javascriptはめざましい進化を遂げて活躍の場も増えており、コードの量も増え、処理も複雑化してきているので、こういうライブラリはコーディングする者にとって本当にありがたいです。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Copyright (C) 2002 - 2017 kawama All Rights Reserved. — Powered by WordPress