私は、これまでのプロジェクトでこのすべてを何年にもわたって考えていたと思います。角度の約束と連鎖:ビジネスデータのエラーがあるとチェーンを破る方法
ゴール:他のサービスを呼び出すサービスを受け取り、エラーが返された場合(のステータスが200でない場合)、非同期のものが待機しており、処理を続行していないことが必要です。
私はそれほど単純ではないほど素晴らしい例を見たことがないように思えます。
私は
return
との問題を抱えていますようだ..私は角度が(1)フードの下で何をしているかについての様々な記事を読んで、私は.successなど、.then、$ Qがあることがわかり他のネストされたバンドルされたサービスコールは、問題をチェックすることなく行われます。ヌル(それが悪いです) errorListアレイ
1 0「この順序は、提出することができません...」(悪く) hasErrors:
は、基本的にこのイメージは
データ戻って来ているかを示して(真として悪いですウェル)
は、だからデータがキャプチャし、ユーザーに表示して、より多くの処理の上に移動しないことが私にとって重要である
これは、その後、私は確かにSparkRequestService.submitRequest(request)
を呼び出すことが、添付された画像に基づいてよ、私はそうresData
でエラーを取得しています、私が必要と思われる操作の私の注文
this.submitEnrollment = function (enrollment) {
return getSubmit(requestData);
}
// Which CALLS below
var getSubmit = function (request) {
return SparkRequestService
.submitRequest(request)
.then(
function (resData) {
console.log("resData", resData);
enrollmentService.resetEnrollment();
return resData;
},
function (resData) {
console.log('error');
}
);
}
ですresData
の質問にはどうしたらいいですか?だから、私は本当にこの他のサービスを呼び出すことを許可しないでくださいenrollmentService.resetEnrollment();
私はどのように私はリファクタリングを処理することから停止することはできますか? if文で.then
?
問題は 'enrollmentService.resetEnrollment();が呼び出されることです技術的には戻り値オブジェクトにラップされたビジネスエラーですので、 'function(errorResponse)'がどのようにヒットするのかわかりません。 –
Sweet、ありがとうございます! –
私を混乱させる質問の一部は、事実、特定の条件の下でステータス200(OK)HTTP応答を拒否しようとしていたときに「** 200のステータスではない」と言われています。 – georgeawg