Promise.all()
を使うと、非同期処理を複数同時に実行し、全てが完了した後の処理を指定することができます。
var rosen;
function init() {
rosen = new Rosen("map", {
apiKey: "2jr5nchcswemrfjj67jvjaqu", // アクセスキーはサンプル用です。実際にご利用されるときは書き換えてください。
});
}
// 例2. 並行処理(Promise.all()の使い方)
function btnOnClick() {
var yuurakucho = 23036;
var tokyo = 22828;
var ginza = 22641;
// 3個のマーカーを設置する処理は並行に実行されます
var promise1 = rosen.setStationMarker(yuurakucho);
var promise2 = rosen.setStationMarker(tokyo);
var promise3 = rosen.setStationMarker(ginza);
Promise.all([promise1, promise2, promise3]).then(function() {
alert("ここは全てのサーバリクエストが完了した後で実行されます。");
}).catch(function(err) {
alert("エラーが発生しました"); // どれか1つでエラーが起きたとき呼ばれます
console.log(err);
});
}
window.addEventListener('load', init);