jQueryのDeferredのthenについて、理解できないコードがあります。

下記のような、一連の処理をしているコードを職場で見かけたのですが
処理1~3は全て同期な処理で、Deferredを使っている意味がさっぱりわかりません。
何を意図しているのかわかりますか?

var dfd = $.Deferred();

dfd.then(function(){
// 処理1
}).then(function(){
// 処理2
}).then(function(){
// 処理3
});

dfd.resolve();

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/12 08:30:19
  • 終了:2013/01/19 08:35:02

回答(2件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202013/01/12 12:28:21

非同期処理が終わったら、逐次的に「処理1→処理2→処理3」の順に同期処理を走らせるコードです。
非同期処理の終了処理(成功/失敗メッセージの表示など)に利用されることが多いパターンです。

id:oil999

全部同期処理ではありません。
「非同期処理が終わったら」と回答しています。

2013/01/13 23:57:52
id:office55

すいません。まだ理解しきってないのですが、処理1~3は、同期処理で 何もせずすぐにresolveしてるのです。作成者の意図がわかりませんでした。

2013/02/12 23:58:15
id:taroe No.2

taroe回答回数1099ベストアンサー獲得回数1322013/01/13 15:20:26

jQuery.Deferredって何
http://hamalog.tumblr.com/post/5159447047/jquery-deferred

ここの説明が、わかりよいと思います。

id:office55

すいません。質問の仕方がまずかったのか 自分の理解が足りていないかなのですが、
全部同期の処理なのであれば、Deferredを使う意味が無いと思うのです。
それをあえて、Deferredを使っているからには 何か意図があるかと思ったのですが どうでしょう?

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

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません