kouの技術的メモ

学習した内容の定着やアウトプット用に開設しました

ES6文法 プロミス構文

非同期処理とPromise構文

JavaScript では時間のかかる処理は、ほぼ非同期なのが前提。(通信とかローカルファイルの読み込みとかの外部アクセス処理)

以下のものは起きた、の遅延によりおやすみ、おはよう、起きたの順番で表示されてしまう。

const wakeUp = ms => { 
 setTimeout(()=>{
 console.log('起きた');},ms);
};

const greet = () => { 
 console.log('お や す み ');
 wakeUp(2000);
 console.log('お は よ う ! '); }
}

greet();

非同期処理ではなく、同期的に処理を行いたい場合は以下のようにPromiseを使う

const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
const greet = () => { console.log('お や す み ');
sleep(2000) .then(() => {
console.log('起 き た ');
console.log('お は よ う ! '); })
.catch(err => { console.error('睡眠例外です:',err);
}) }
greet();