【发布时间】:2021-03-25 13:59:05
【问题描述】:
在我的 Angular 应用程序中,为了在 HorLigne 模式下测试一些功能,我需要模拟 http 有用的响应:
- 200 OK 返回包含一些数据
- 没有数据的 404 KO 返回
通常我试过这个:
@Injectable()
export class VerifService {
mockedResult = false;
verifData(mail, uuid) {
if (this.mockedResult) {
return ObservaleOf({ status: "OK" }).pipe(delay(3000));
} else {
return throwError({ status: 500, message: "not found" }).pipe(
delay(3000)
);
}
}
}
在我的组件中,我正在这样做:
this.verifService.verifData(mail, uuid).subscribe(data=>{
console.log('THIS WORKS')
}, err => {
console.log('THIS FAILS')
}
对于 mockedResult 等于 true 的情况,成功的 200 OK 返回是有效的
但是对于 404 错误返回,它不起作用
还有其他模拟 404 error observable return 的好方法吗?
建议?
【问题讨论】:
-
我想应该可以。您是否将
mockedResult设置为false以便可以遍历throwError? -
使用
throwError是正确的。delay()在这里无效。你能做一个复制这个问题的演示吗?
标签: javascript angular rxjs rxjs6 rxjs-observables