У меня есть клиентский API, который я хочу опрашивать, пока он не вернет результат успеха, этот API возвращает ответ со следующим JSON.
{
"count": 0,
"meta": {
"status": "PENDING",
"total": 3185,
"completion_percentage": 0,
"total_available": 0,
"hotels_filtered": 0,
"offers": 0
},
data:[]
}
и положительный результат должен содержать статус = 'ЗАВЕРШЕНО', а в поданные данные будет включен результат в данные, я попытался использовать takeWhile из 'rxjs'
component.ts
var headers = { headers: new HttpHeaders({ 'x-user-agent':'M;B2B' }) };
var url='https://api.xyz.com/hotels/v1/search/entity/27548283?apikey=1234567'
this.http.get(url,headers)
.pipe(
takeWhile((data)=>JSON.parse(JSON.stringify(data)).meta.status==='COMPLETED')
)
.subscribe((result)=>{
console.log(result);
},(err)=>{
console.log(err);
})
Но, к сожалению, я не получаю ничего, чтобы подписать метод журнала,
это правильный метод?
Моя угловая версия - 6.