我在Angular中有一个HTTP调用,返回了一个Promise。我正在使用setTimeout在间隔后刷新呼叫。可以使用某些内置功能/模式来完成这项工作吗?
答案 0 :(得分:3)
是的,您可以轻松使用RXJS。但是,如果不使用Promises ofcourse,那么rxjs的强大功能便是间隔等强大的运算符。
interval(1000)
.pipe(
switchMap(() => this.http.get('...url...')),
map(response => {
if(response.statusCode == 1) return response.data;
else return undefined; //or some error message or data.
})
)
.subscribe(response => {
// do somthing with the response that will come in one second interval
});
基本上看起来像这样。但是,如果您提供自己的代码,我们可以帮助您仅使用rxjs完全按照您的要求进行工作。这是一个非常强大的库,建立在非常好的Observable Design Pattern上。