-
-
Save a-suenami/4159873 to your computer and use it in GitHub Desktop.
jQuery Deferredの簡単な使い方
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 複数のAjax通信を行って全ての結果がそろったら次の処理を実行したい等の場合 | |
# Ajax処理 | |
somethingAjax1: -> | |
dfd = $.Deferred() | |
$.getJSON '/something.json', {'param': param }, (data) => | |
# dataを使った処理をする | |
# 無事完了したらresolve() | |
dfd.resolve() | |
.error -> | |
# 通信に失敗しちゃったらreject() | |
dfd.reject() | |
# 後でやるよ!という"約束"をする | |
return dfd.promise() | |
# somethingAjaxの処理が終わってから以下が実行される | |
main: -> | |
$.when( | |
@somethingAjax1() | |
@somethingAjax2() | |
@somethingAjax3() | |
) | |
.done () => | |
# 全てresolveされればdoneが実行される | |
alert '成功したよ!' | |
.fail () => | |
# 1つでもrejectされればdoneではなくfailが実行される | |
alert 'しっぱいしっぱい><' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment