JavaScriptにおけるPromiseのエラーオブジェクト
関数 reject にエラーの文字列ではなく、
エラーオブジェクトを渡すことがより一般的です:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
reject(new Error('error in promise')); // エラーオブジェクト
}, 3000);
});
throw を使用してエラーオブジェクトをスローすることもできます -
これはそれらを reject に渡すのと同等です:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
throw new Error('error in promise'); // rejectと同等
}, 3000);
});
学んだ内容に基づいて、以下のコードを修正してください:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
let isError = false;
if (!isError) {
resolve('success');
} else {
reject('error');
}
}, 3000);
});