【发布时间】:2022-02-17 18:35:57
【问题描述】:
_watch(key: string): Observable<AxiosResponse<any>> {
let url: string = `${this.buildUrl(key)}?wait=true&recursive=true`;
return this.httpService.get(url)
.pipe(
map((resp) => resp),
tap(data => console.log(data))
)
}
watch(key: string) {
this._watch(key).subscribe({
next: (v) => console.log(v),
error: (err) => {
if (!err.response) return new EtcdConnectionError();
let data = err.response.data;
switch (data.errorCode) {
// https://etcd.io/docs/v2.3/errorcode/
case 100:
return new EtcdNotFoundError(key);
default:
return new EtcdCommonError(data.message);
}
},
complete: () => console.info('complete')
})
}
我隐约了解如何与 Observable 交互,如果您能告诉我如何进一步了解它,我将不胜感激,我阅读了基本文档。
代码 +/- 像这样工作:
- 请求已发送
- 如果有变化,就会有响应 以此类推
我应该怎么做才能获得周期性状态,或者我的错误是什么?
更新
watch(key: string) {
return this._watch(key).subscribe({
我忘记标明return,今天受苦了)))))))))))))))))))))))))))))
【问题讨论】:
标签: typescript rxjs nestjs etcd2