gpt4 book ai didi

angular - 如何将 retryWhen 与返回 bool 值的函数一起使用?

转载 作者:行者123 更新时间:2023-12-02 05:58:13 27 4
gpt4 key购买 nike

这是我的代码:

this._http.post(this._url_get + extension, '', { headers: headers })
.map(res => res['_body'])
.retryWhen(errors => {return responseErrorProcess(errors)})

现在我需要捕获异常并将它们传递给我的 responseErrorProcess()返回 true如果需要重试

我不知道如何从 errors 中检索异常,这是它的外观:
Subject_isScalar: falseclosed: falsehasError: falseisStopped: falseobservers: Array[0]thrownError: null__proto__: Observable`

它似乎不包含有关发生的异常的错误,而且我不知道应该返回什么才能真正重试。

最佳答案

retryWhen应该返回一个 Observable。一旦该 observable 发出,就会发生重试:

.retryWhen(errors => 
//switchMap to retrieve the source error
errors.switchMap(sourceErr =>
//send source to processor
responseErrorsProcess(sourceErr) ?
//if result is TRUE, emit (will cause retry). Else, pass on the error
Observable.of(true): Observable.throw(sourceErr)
)
)

如果您想在处理器返回时完成而不是出错 false , 替换 Observable.throw()Observable.empty()

关于angular - 如何将 retryWhen 与返回 bool 值的函数一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40184509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com