私はかなりの時間NodeJSコードを書いており、人によって実装されたさまざまな手法を見てきました。私の質問は天気です。それは、シグネチャがPromise
を返し、パラメータアサーションが失敗したときに直接スローする機能を持つベストプラクティスと見なされます。関数がPromiseを返すときに、Javascriptのパラメータアサーションを直接スローする必要がありますか?
あなたはこれを行うべきだと思いますか? :
スロー同期方法
function asyncPromise(param) {
assert(param, 'Missing required parameter');
// Param ok
return Promise.resolve(param);
}
ORこの? :
拒否約束
function rejectPromise(param) {
if (typeof param === 'undefined') {
return Promise.reject(new Error('Missing required parameter'));
}
// Param valid
return Promise.resolve(value);
}
私の腸が機能を持っているしかしとき、続けてはならないものとして考慮されるべきで直接間違ったパラメータ入力以来投げるの最初の道のために行くために私に言っていますPromiseを返すシグネチャ、呼び出し元はエラーの.catch処理を期待し、直接スローされた場合はエラーを見逃します。
あなたの意見は?
意見を求めることは、このサイトの範囲外です。https://stackoverflow.com/help/on-topic – Purefan
私は「実行」を使用しますが、実行者の内部で行います。これは '.reject'と同じですが、より明示的です。 – georg
@Purefanおそらく、適切な定義ではないと思うかもしれません...おそらく、ベストプラクティスと思われるものを質問していると思います(もしあれば) – mitsos1os