Promise.reject(error)
は
Promise.resolve(value)
と同じ静的メソッドで new Promise()
のショートカットとなるメソッドです。
たとえば、 Promise.reject(new Error("エラー"))
というのは下記のコードのシンタックスシュガーです。
new Promise((resolve, reject) => {
reject(new Error("エラー"));
});
返り値のpromiseオブジェクトに対して、thenの onRejected
に設定された関数にエラーオブジェクトが渡ります。
Promise.reject(new Error("BOOM!")).catch((error) => {
console.error(error);
});
Promise.resolve(value)
との違いは resolveではなくrejectが呼ばれるという点で、
テストコードやデバッグ、一貫性を保つために利用する機会などがあるかもしれません。