如何在不保存状态(例如,将状态保存为“isLoading”属性)的情况下防止多个长时间api调用(例如用户多次点击按钮)。防止多个API调用
0
A
回答
3
有遗漏的需求在这里,但假设你希望避免额外的电话,而有一个执行,直到请求完成,你可以使用take(1)
与repeat()
以及可选retry()
,take(1)
将限制第一点击发射,repeat()
当onComplete()
- 这意味着网络请求完成后,将再次重新订阅,因此您将能够再次接收单击并执行请求。您也可以考虑重试()以重新订阅失败(不会重复请求,但会在请求点击时再次提供请求)
getClicksEvents()
.take(1)
.flatMap(aVoid -> getRequestObservable())
.repeat()
.retry()
.subscribe(result -> //do your thing);
相关问题
- 1. jQuery的防止多个AJAX调用
- 2. 防止调用
- 3. 如何在调用AWS API时防止API调节?
- 4. UICollectionView防止多次轻击/调用didSelectItemAt
- 5. 防止在多个chrome.storage API调用中竞争条件的最佳方法?
- 6. 多个API调用
- 7. 防止多个Ajax帖子
- 8. 防止多个Ajax查询
- 9. 防止多个滑块
- 10. 防止多个upvote Angularjs
- 11. 防止多个Ajax提交
- 12. 防止多个小数点
- 13. 防止忘记调用一个方法
- 14. 防止多个异步调用,而不阻塞
- 15. 防止用户启动多个帐户?
- 16. 防止Ajax调用两次
- 17. 防止调用函数
- 18. 防止super.paintComponent调用clearRect
- 19. 防止EF4 ConstraintException调用TryUpdateModel
- 20. 在调查中防止多次投票
- 21. 同步多个API调用
- 22. 如何防止getJSON未调用回调?
- 23. 如何防止网站外部的API调用
- 24. Mac Kiosk Mode API - 防止用户退出
- 25. 使用.NET'异步'防止TIME_WAIT API
- 26. 用什么异常来防止多次调用方法?
- 27. 如何防止单个JDO查询执行多个RPC RunQuery调用execute()?
- 28. 防止同时触摸多个按钮
- 29. 防止在多个元素上的ToggleClass
- 30. 防止多个JFrame窗口打开
也许使用'.take(1)'?很难说没有看到更多的上下文。 –
是的,但是在完成API调用后我需要重新订阅。 – JaSHin