异步HTTP调用,直到在Angular中满足条件为止

问题描述 投票:1回答:1

我在Angular中有一个HTTP调用,返回了一个Promise。我正在使用setTimeout在间隔后刷新呼叫。是否可以使用某些内置功能/模式来完成这项工作?

angular typescript promise
1个回答
0
投票

是的,您可以轻松使用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之上。

© www.soinside.com 2019 - 2024. All rights reserved.