[解決済み] then 関数の内部からプロミスを拒否する方法
2023-02-07 18:35:49
質問
くだらない質問ですが、プロミス・チェーンで、プロミスを拒否するにはどうしたらいいのでしょうか? 例えば
someActionThatReturnsAPromise()
.then(function(resource) {
return modifyResource(resource)
})
.then(function(modifiedResource) {
if (!isValid(modifiedResource)) {
var validationError = getValidationError(modifiedResource);
// fail promise with validationError
}
})
.catch(function() {
// oh noes
});
元のresolve/reject関数やPromiseResolverへの参照はもうありません。 私はただ
return Promise.reject(validationError);
?
どのように解決するのですか?
<ブロッククオート
私はちょうど追加することになっていますか
return Promise.reject(validationError);
?
はい、ただし。 はそれほど複雑なのです。 を使うのはjQueryだけです。 プロミス/A+ -に準拠したライブラリを使えば、単純に
throw validationError;
そうすると、コードは次のようになります。
someActionThatReturnsAPromise()
.then(modifyResource)
.then(function(modifiedResource) {
if (!isValid(modifiedResource))
throw getValidationError(modifiedResource);
// else !
return modifiedResource;
})
.catch(function() {
// oh noes
});
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] コールバック内で正しい `this` にアクセスする方法
-
[解決済み] 関数が実行されるまでの時間を測定する方法
-
[解決済み] .then()チェーンで以前のプロミス結果にアクセスするにはどうすればよいですか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptのプロミス - reject vs. throw
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] JSXとLoadshを使用して、ある要素をn回繰り返す方法
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?