<script>
// 処理を順番に実行する
const processA =function() {
return new Promise(function(resolve, reject) {
console.log("processA");
// 処理が終わったことを知らせる
resolve();
})
}
const processB = function() {
return new Promise(function(resolve, reject) {
console.log("processB");
resolve();
})
}
const processC = function() {
return new Promise(function(resolve, reject) {
console.log("processC")
resolve();
})
}
// .thenで後に続く処理を書く
processA()
.then(processB)
.then(processC)
</script>
<script>
/* for の場合 **************************************************/
function sleep(time) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, time);
});
}
(async () => {
const a = [1,2,3,4,5];
// foreachだと非同期になってしまう
for(let i of a) {
// new Promiseオブジェクトをawaitすると待機可能になる
await sleep(1000);
console.log(i);
}
})();
</script>