У меня есть этот сервис с возвратом null изначально (инициализация фонового задания) [ this.q = true]
. Но позже, если я изменю его, изменится на [ this.q = false]
и, если задание выполнится успешно, оно вернет значение.
Итак, сначала мне нужно позвонить [ this.q = true]
и повторить попытку [ this.q = false]
.
Но приведенный ниже код не работает. это всегда составляет https://api.example.com? q = true
return this.http.get('https://api.example.com?q=' + this.q)
.map((res: any) => {
if (res === null) {
throw new Error("not enough tiles !");
}
return res;
}).catch((e) => {
this.q = false;
return error;
})
.retryWhen(e => e.delay(2000))
.retry(3);