callbackを Promise
に変換することでcallbackの深いネストを消すことができます。
Promiseのコンストラクタには resolve
と reject
を引数に持つ関数を渡します。
callback内の処理が成功した時には resolve
に、失敗した時には reject
に値を渡します。
次のコードは100ミリ秒時間を置いてから、 resolve
にメッセージを渡しています。
resolve
に渡したメッセージは次の then
の処理で表示しています。
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Hello');
}, 100);
});
promise
.then((message) => {
console.log(message);
});
また次のコードは100ミリ秒時間を置いてから、 reject
にメッセージを渡しています。
reject
に渡したメッセージは次の catch
の処理で表示しています。
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
reject('Hello');
}, 100);
});
promise
.catch((message) => {
console.log(message);
});