JavaScriptにおけるPromiseの個別例外キャッチ
thenでは、最初のパラメータの代わりにnullを渡すことで、
例外状況のハンドラ関数のみを指定することができます:
promise.then(
null,
function(error) {
console.log(error);
}
);
このような場合、メソッドcatchを使った省略構文を利用すると便利です:
promise.catch(
function(error) {
console.log(error);
}
);
次のコードをメソッドcatchを使って書き直してください:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
let isError = false;
if (!isError) {
resolve('success');
} else {
reject(new Error('error'));
}
}, 3000);
});
promise.then(
res => console.log(res),
err => console.log(err.message),
);