我看到很多教程都在做这样的事情:
http.get("...").subscribe(
success => console.log('hello success'),
error => console.log('bye error')
);
我不知道这是如何工作的,因为没有任何类型或任何东西,但是我自己尝试这样做,结果即使我有错误,请求也总是成功。问题是什么?
麻烦制造者:
this.memberService.create(this.currentMember)
.subscribe(
success => {
let mem: Member = success.json() as Member;
if (this.selectedOrganization) {
this.addMemberToOrganization(mem);
} else if (this.selectedServiceProvider) {
this.addMemberToServiceProvider(mem);
} else {
this.toastsService.error("lbl_users_service_provider_and_organization_undefined");
}
},
error => console.log(error)
);
memberService 中的 Create-Method:
create(member: Member): Observable<any> {
return this.http
.post(this.RESOURCE_BASE_URL, member)
.map(response => {
if (response.status === 200) this.toastsSerivce.success(this.translateService.instant('lbl_users_member_created'));
return response;
})
.catch(error => this.toastsSerivce.error(this.translateService.instant('lbl_users_member_create_failed')));
}
我什至发现了错误,但这subscribe
部分似乎并不在意。它在 处失败success.json()
,因为如果有错误,则没有json
。但是如果有错误,我希望它调用error =>...
而不是success
. 任何建议都将受到高度赞赏。