Promiseを使った非同期処理
const promise = new Promise((resolve, reject) => {
const rst = Math.random();
console.log(rst);
if (rst > 0.5) {
resolve("SUCCESS");
} else {
reject("FAIL");
}
})
.then((value) => {
console.log(`Thenメソッド実行 ${value}`);
})
.catch((value) => {
console.log(`Catchメソッド実行 ${value}`);
});resolve()メソッド:
Promiseで成功時の処理を記述する
then()メソッド:
resolve()メソッドが実行された後に続けて実行される
resolve()メソッドに設定した引数がthen()メソッドの中で使用できる
reject()メソッド:
Promiseで失敗時の処理を記述する
catch()メソッド:
reject()メソッドが実行された後に続けて実行される
reject()メソッドに設定した引数がcatch()メソッドの中で使用できる
delayPromise(3).then(console.log);
function delayPromise(sec) {
return new Promise((resolve) =>
setTimeout(() => resolve("TIME WAS LEFT"), sec * 1000)
);
}const promise = new Promise((resolve, reject) => {
setTimeout(() => {
console.log('HELLO');
resolve();
}, 1000);
});
promise.then(() => console.log('WORLD!'));