Skip to content

Instantly share code, notes, and snippets.

@tyoshikawa1106
Last active February 8, 2016 05:38
Show Gist options
  • Save tyoshikawa1106/7217fa9dd80579d4da55 to your computer and use it in GitHub Desktop.
Save tyoshikawa1106/7217fa9dd80579d4da55 to your computer and use it in GitHub Desktop.
AngularJSの非同期処理
// ひとつ目のPromise
function getPromiseA() {
var deferred = $q.defer();
console.log('getPromiseA');
setTimeout(
function() {
var resolveObj;
// 処理の成功を示す promise.then() の successCallback をコール ( 引数オブジェクトを渡せる )
console.log('getPromiseA resolve');
deferred.resolve(resolveObj);
}, 1000);
return deferred.promise;
}
// 2つ目のPromise
function getPromiseB() {
var deferred = $q.defer();
console.log('getPromiseB');
setTimeout(
function() {
var resolveObj;
// 処理の成功を示す promise.then() の successCallback をコール ( 引数オブジェクトを渡せる )
console.log('getPromiseB resolve');
deferred.resolve(resolveObj);
}, 1000);
return deferred.promise;
}
function doClick() {
var promises = [];
var promisesA = getPromiseA(); //任意の非同期処理 A
var promisesB = getPromiseB(); //任意の非同期処理 B
promises.push(promisesA);
promises.push(promisesB);
console.log(promises);
var promiseAll = $q.all(promises);
promiseAll.then(
function() {
console.log('PromiseAll End');
}
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment