angular - Angular Rxjs repeatWhen:当所有状态都未完成时
问题描述
我想重试(点击相同的 URL 最多 5 次,延迟 5 秒)如果我没有收到相同的 URL,Angular 服务文件中的所有状态都是“已完成”
[
{
"data": [
//SET OF OBJECTS
],
"status": "COMPLETED"
},
{
"data": [
//SET OF OBJECTS
],
"status": "NO_DATA_FOUND"
}
]```
解决方案
尝试这个
this.http.get().pipe(
map(res => {
res.array.forEach(el => {
if (el.status !== "completed") {
//error will be catched by retryWhen
throw res;
}
})
return res;
}),
retry(5),
retryWhen(errors => errors.pipe(delay(1000)))
)
推荐阅读
- php - 一个请求中带有 json 的 CakePHP REST API 多部分文件
- php - 将照片上传到服务器时,将文件上传到服务器未定义索引时出错
- javascript - Joomla!正在强制我的 concat 加 '+' 到 "%20"
- android - Android 库不适用于 Lib GDX 制作的项目
- flask - SQLAlchemy 不允许我在测试夹具中多次设置 Flask 应用程序
- macos - macOS en5 网络无法关闭
- reactjs - Apollo 客户端和更新表单
- php - Etsy PHP Oauth:无法获取访问令牌
- java - 在春季数据中使用什么代替 fetch.EAGER?
- html - 在 Bootstrap 中向面板标题添加特色角