如何在不保存狀態(例如,將狀態保存爲「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