Skip to content

Instantly share code, notes, and snippets.

@Torokun
Last active February 7, 2016 14:40
Show Gist options
  • Save Torokun/b6a3b76f14971855ccc2 to your computer and use it in GitHub Desktop.
Save Torokun/b6a3b76f14971855ccc2 to your computer and use it in GitHub Desktop.
// 処理A、処理B、処理Cは並列で行い、その後に処理Dをする
$(function(){
var _resultA = null;
var _resultB = null;
var _resultC = null;
function processA(dataA, callback) {
// Aの処理(Ajax呼び出し)
$.get(url1, dataA, function(data, textStatus, jqXHRn){
// なんか処理してコールバックする
_resultA = hogehoge;
callback();
});
}
function processB(dataB, callback) {
// Bの処理(Ajax呼び出し)
$.get(url2, dataB, function(data, textStatus, jqXHRn){
// なんか処理してコールバックする
_resultB = hogehoge;
callback();
});
}
function processC(dataC, callback) {
// Aの処理(Ajax呼び出し)
$.get(url3, dataC, function(data, textStatus, jqXHRn){
// なんか処理してコールバックする
_resultC = hogehoge;
callback();
});
}
// ABCが終わったらDする処理
function onDoneProcess() {
if(!_resultA || !_resultB || !_resultC) {
// まだ終了していない
return;
}
// ABCが終わったからDする
processD();
}
function processD() {
// Dする
someProcess();
}
processA(argA, onDoneProcess);
processB(argB, onDoneProcess);
processC(argC, onDoneProcess);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment