Promiseで非同期処理を順次実行する方法@JavaScript
var func1 = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log("func1");
resolve();
}, Math.random() * 1000);
});
}
var func2 = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log("func2");
resolve();
}, Math.random() * 1000);
});
}
var func3 = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log("func3");
resolve();
}, Math.random() * 1000);
});
}
func1().then(
resolve => {
return func2();
},
reject => {
console.log("reject");
}
).then(
resolve => {
return func3();
},
reject => {
console.log("reject");
}
).then(
resolve => {
console.log("1〜3すべて完了");
},
reject => {
console.log("reject");
}
);
1回目:
func1 func2 func3 1〜3すべて完了
2回目:
func1 func2 func3 1〜3すべて完了
・・・