У меня есть запрос в службе Angular, иногда я получаю пустой массив и хочу заставить запрос повториться в этом случае
let request = this.http.post(this.searchlUrl, payload).pipe(
retryWhen(errors => errors.pipe(delay(1000), take(2), concat(throwError("Error Data")))),
map( res => {
// If receive res['hotels'] == [] I want to force error
return res;
})
).subscribe(res => {
// Do Something when everything is ok
}, err => {
// Do Something on error
});
});
Я работаю с retryWhen для создания новогозапросить, если есть ошибка (жду 1 секунду). Мой подход заключается в том, чтобы вызвать ошибку при получении пустого, чтобы активировать RetryWhen, но я не знаю, как это сделать, и я не знаю, каков наилучший метод принудительного повторного консультирования при получении пустого.