<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Promise</title> </head> <body> <p>Promise</p> <script> // let promise = new Promise((resolve, reject) => { // // 非同期処理 // let success = true; // 仮の成功条件 // if (success) { // resolve('Success!'); // 成功時 // } else { // reject('Error!'); // 失敗時 // } // }); // promise // .then(result => { // console.log(result); // 'Success!' が出力される // }) // .catch(error => { // console.error(error); // エラーが出力される // }); // ---------------------------------------------------- // let promise = new Promise((resolve, reject) => { // resolve(1); // }); // promise // .then(result => { // console.log(result); // 1 が出力される // return result * 2; // }) // .then(result => { // console.log(result); // 2 が出力される // return result * 2; // }) // .then(result => { // console.log(result); // 4 が出力される // }); // let promise1 = Promise.resolve(1); // let promise2 = Promise.resolve(2); // let promise3 = Promise.resolve(3); // Promise.all([promise1, promise2, promise3]) // .then(results => { // console.log(results); // [1, 2, 3] が出力される // }) // .catch(error => { // console.error(error); // }); // ---------------------------------------------------- let promise1 = new Promise((resolve, reject) => { setTimeout(() => resolve('First'), 500); }); let promise2 = new Promise((resolve, reject) => { setTimeout(() => resolve('Second'), 100); }); Promise.race([promise1, promise2]) .then(result => { console.log(result); // 'Second' が出力される }) .catch(error => { console.error(error); }); </script> </body> </html>