Angular retryWhen与条件statuscode。
创始人
2024-10-20 12:30:38
0

Angular的retryWhen操作符可以在请求失败时进行重试。可以根据条件status code来决定是否进行重试。

下面是一个示例代码,演示了如何使用retryWhen和条件status code进行重试:

import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { Observable, throwError } from 'rxjs';
import { retryWhen, mergeMap, delay } from 'rxjs/operators';

@Injectable()
export class ApiService {
  constructor(private http: HttpClient) {}

  getData(): Observable {
    return this.http.get('https://api.example.com/data')
      .pipe(
        retryWhen(errors => {
          return errors.pipe(
            mergeMap((error: HttpErrorResponse) => {
              if (error.status === 500) {
                // 如果status code是500,则进行重试
                return throwError(error);
              }
              // 如果status code不是500,则不进行重试,直接抛出错误
              return throwError('Request failed with status code: ' + error.status);
            }),
            delay(1000) // 延迟1秒后进行重试
          );
        })
      );
  }
}

在上面的代码中,getData()方法会发送一个HTTP GET请求到https://api.example.com/data。如果请求失败,并且status code是500,则会进行重试。如果status code不是500,则不进行重试,直接抛出错误。

retryWhen操作符接收一个错误Observable(errors),并返回一个新的Observable。在新的Observable中,可以使用mergeMap操作符根据条件决定是否进行重试。如果要进行重试,可以使用throwError操作符抛出错误。delay操作符可以用来延迟重试的时间间隔。

请根据自己的实际需求,根据条件status code来决定是否进行重试,并进行适当的修改。

相关内容

热门资讯

透视阶段!wepoker轻量版... 透视阶段!wepoker轻量版透视,hhpoker德州机器人(透视)其实存在有挂(哔哩哔哩)1、完成...
透视妙计!购买wepoker模... 透视妙计!购买wepoker模拟器,wpk透视辅助(透视)好像是有挂(哔哩哔哩)进入游戏-大厅左侧-...
透视办法!epoker透视底牌... 透视办法!epoker透视底牌,佛手大菠萝辅助(透视)果然真的有脚本挂(哔哩哔哩)一、佛手大菠萝辅助...
透视讲义!wpk有那种辅助吗,... 您好,wpk有那种辅助吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
透视办法!wepoker的辅助... 透视办法!wepoker的辅助器,cloudpoker作必弊(透视)本来有挂(哔哩哔哩)1、在wep...
透视机巧!we-poker辅助... 透视机巧!we-poker辅助,德普之星辅助器怎么用(透视)竟然真的是有挂(哔哩哔哩)1、德普之星辅...
透视手段!aa poker辅助... 透视手段!aa poker辅助,aapoker透视脚本入口(透视)原来真的是有脚本软件(哔哩哔哩)1...
透视方针!hhpoker软件靠... 透视方针!hhpoker软件靠谱吗,wepoker买钻石有用吗(透视)其实是真的挂(哔哩哔哩)1)w...
透视讲义!werplan外开挂... 透视讲义!werplan外开挂,哈糖大菠萝能开挂吗(透视)本来是有透视app(哔哩哔哩)小薇(辅助器...
透视攻略!wpk插件,wpk透... 透视攻略!wpk插件,wpk透视辅助下载(透视)竟然存在有透视app(哔哩哔哩)1、下载好wpk透视...