问题标签 [retrywhen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rxjs - RXJS:自适应超时
我正在使用 RXJS 6,我尝试使用自适应超时重试(我第一次尝试 1s 超时,如果不成功我重试但 2s 超时,等等...)
看起来超时值在重试时没有更新,我是 RxJS 的新手,我找不到问题。
这里的代码片段:
但我的结果并不是很好:
有什么帮助吗?
rxjs - RxJS Observable:使用计数重试,然后使用通知程序
首先,我想使用一个简单的计数重试:
- 重试源可观察
n
次数。 - 然后,发出错误。
(最好在每次重试后立即发出错误,但retry(count)
似乎没有这样做。)
如果我理解正确,这是以下行为retry(count)
:
然后,我想允许用户手动重试。当一个重试通知 observable ( retry$
) 发出时,再次重试 observable,之后每次都发出错误。
我尝试使用retryWhen
它,但是虽然确实发生了重试,但永远不会发出错误。
我想重试但也发出任何错误,以便在重试运行时可以在用户界面中显示它们。
此外,我不确定如何将其与retry(count)
. 如果我链接重试运算符,它们会相互触发。
android - Rxjava - doOnError 完成后如何重试调用
在 doOnError 中完成另一个网络调用后,我正在努力重试我的 rxjava Single 调用:
但是在 doOnError 方法内部不能调用 retry 方法。你还有其他建议吗?
android - RxJava 的 retryWhen 操作符
我正在尝试深入了解 retryWhen 运算符,并且我有一些代码如下。
结果如下所示。
调试:重试当继续...
调试:错误:有异常
问题是当 retryWhen 操作符被触发时?
我假设只有在发生异常时才会触发 retryWhen 运算符。
但结果显然不是我想的那样,
对此有什么想法吗?谢谢!
angular - 角度 7:如何对 http 拦截器进行单元测试重试
我有一个 HTTP 拦截器,用于添加标头(身份验证)并在发生错误时执行日志记录。目前,它使用自定义重试策略,在生成错误之前尝试调用 Web 服务 3 次。这是在拦截方法中使用的代码:
对重试尝试进行单元测试的最佳方法是什么?我试过写这样的东西:
不幸的是,它不起作用。任何人都可以帮助我并指出正确的方向吗?
谢谢
angular - HTTP 请求使用拦截器重试特定错误并重试
我有一个调用 GET API 并收到响应的服务。我已经实现了 HTTP 拦截器来正确和全局地处理应用程序中的任何错误。我想做的是,当我的 API 返回特定错误时,例如错误 501,我需要在每次请求之前重试该请求 n 次和 t 秒延迟。如果我的重试结束,我还想处理一个通用错误(即,如果我在最后一次重试时出错,我想以特定方式处理它)。请帮我弄清楚如何解决这个问题。
这一切都是使用 Angular 6 实现的,使用正确语法的解决方案将不胜感激。
谢谢
java - rxjava2 中 retrywhen() 发出的 observable 的用途是什么?
我知道如果 Observable 发出一条数据,它会重新订阅,如果 Observable 发出 onError 通知,它会将该通知传递给观察者并终止。问题是,如果我发出一个 Obervable.just(1,2),但它不会被观察者接受。那么它的用途是什么?它只是告诉它重新订阅,我什么数据并不重要发射?
并且日志是
retryWhen重试数据1
retryWhen重试数据1
所以 Observable.just(4,5) 不见了?
angular - AsyncPipe 没有正确更新
我目前正在尝试将 Angular AsyncPipe 与 ngIf 结合使用。生产中的 observable 来自 HttpService,它通过重试策略进行了扩展以进行错误处理。
模板如下所示:
重试策略对错误使用对话框,在对话框关闭后,应重新运行可观察对象。
如果没有发生错误,则模板正在正确加载并且一切正常。但是,在开始时仅发生一个错误并且用户关闭对话框以开始重试后,模板中未正确显示该值。
我也举了一个例子。
在示例中,我从 Angular 模拟 HttpService 以显示行为。
node.js - 在重试时设置延迟动态
每次重试后是否可以动态设置延迟值。我像这样尝试过,但它看起来很精简,它保留了初始设置的值。
rxjs - rxjs 5.5+ retryWhen not call source observable?
我觉得我在这里错过了一些非常简单的东西。我正在尝试为 fetch 创建一个简单的重试,但只有其中的代码retryWhen
被执行。我正在使用 React,所以我没有this.http.get
方便。也许这是一个问题from(/*promise*/)
?我试图基于 这篇文章的重试逻辑。
这是我希望看到的:
相反,我得到:
所以它只是重复他 retryWhen 间隔中的代码,而不是重复原始的 fetchData 调用。我可能遗漏了一些对我的 RXJS 知识很重要的东西。
这是测试代码: