JavaScriptのPromiseを一言で説明すると?
非同期処理の結果を扱うためのオブジェクト。
JavaScriptのPromiseの何が良いのか?
非同期処理をよりシンプルで直感的に記述できるようにし、可読性を向上させる。
例
Promiseを利用しない例
function asyncTask(callback) {
setTimeout(() => {
const result = "成功";
console.log("非同期処理の完了");
callback(result); // 5秒後に実行
}, 5000);
}
function callbackTask(result) {
console.log("コールバック処理を実行");
console.log("非同期処理の結果:", result);
}
asyncTask(callbackTask);
Promiseを利用する例
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
const result = "成功";
console.log("非同期処理の完了");
resolve(result); // 5秒後に実行
}, 5000);
});
promise.then((result) => {
console.log("コールバック処理を実行");
console.log("非同期処理の結果:", result);
});
async/awaitを利用してコールバック関数を使わない例
async function runAsyncTask() {
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
const result = "成功";
console.log("非同期処理の完了");
resolve(result); // 5秒後に実行
}, 5000);
});
const result = await promise;
console.log("非同期処理の結果:", result);
}
runAsyncTask();