例えば次のような処理です。
// ログイン処理
// データ検索処理
ログイン処理の結果によらずデータ検索処理は行うものとします。ただしログイン処理は非同期処理です。
こんな感じのコードが思いつきますが、同じ処理があるのはよくありません。
if (login) {
User.login.execute()
.then(function() {
Data.Search.execute();
})
} else {
Data.Search.execute();
}
そこでPromiseを使います。
function loginFunction() {
return new Promise(funciton(res, rej) {
if (login) {
User.login.execute()
.then(function() {
res();
})
}else{
res();
}
})
}
loginFunction()
.then(function() {
Data.Search.execute();
})
Promise = 非同期処理で有効ですが、非同期じゃない場合も含めてラッピングできるのが便利です。