作法:在RxSwift中检测可观察对象在特定时间内是否未发出任何事件

约书亚记

rxSwift的新手,它试图学习一个简单的函数。.timeout在可观察序列上使用时,如果序列中的一个可观察对象Unhandled error happened: Sequence timeout.未发出事件,则它将返回错误消息

这是我尝试处理不再接收到的可观察事件,如果有更好的方法可以实现,请提出建议!

如果.timeout操作员返回错误消息,如何发出警报

.timeout 信息:摘要

对可观察序列中的每个元素应用超时策略。如果从其前任开始的指定超时时间内未接收到下一个元素,则会将TimeoutError传播给观察者。宣言

dueTime
发生超时之前,值之间的最大持续时间。

scheduler 计划程序,用于运行超时计时器。

Returns

在超时情况下带有RxError.timeout的可观察序列。

代码:

    Observable.combineLatest(currentUser, opponent, game)
      .timeout(3, scheduler: MainScheduler.instance)


      .subscribe(onNext: { (arg) -> Void in

        let (currentUser, opponent, game) = arg

        if game.isPlayersTurn(currentUser) {
          self._turnState.onNext(.yourTurn)
        } else if game.isPlayersTurn(opponent) {
          self._turnState.onNext(.theirTurn)
        } else if game.isTie() {
          self._turnState.onNext(.tie)
        } else if game.gameData.winner == currentUser.userId {
          self._turnState.onNext(.win(opponentWon: false))
        } else if game.gameData.winner == opponent.userId {
          self._turnState.onNext(.win(opponentWon: true))
        }
      })
      .disposed(by: disposeBag)
  }
约书亚记

在进行一些文档研究时,我发现了rxSwift的onError:处理程序。

这将在收到errorEvent时触发,从那里我可以运行一个onError: {err in errorAlert(); print("error \(err)")}解决问题的函数

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript检查一段时间内是否未发生任何事情

来自分类Dev

如何在特定时间内暂停剪辑/对象?

来自分类Dev

PHP检查日期是否在特定时间内

来自分类Dev

在特定时间内运行功能

来自分类Dev

在特定时间内减少变量

来自分类Dev

如果在给定时间范围内未发出任何值,则rxjs发出恒定值

来自分类Dev

检查条件是否在更长的时间内为真 - 不仅在特定时间

来自分类Dev

Cycle.js:自定义驱动程序不会在main()内部发出任何事件

来自分类Dev

钩住任何事件并计算时间执行

来自分类Dev

$ locationChangeStart之前是否有任何事件?

来自分类Dev

用户转弯时是否有任何事件发生?

来自分类Dev

Unity 3D在GetButtonDown上的特定时间内移动对象

来自分类Dev

如何检查特定时间内是否收到响应包?

来自分类Dev

iOS确定用户在特定时间内是否不移动

来自分类Dev

AS3在按钮(或其他任何事件)事件之后的一定时间范围内运行事件

来自分类Dev

无法捕获控制器中的任何事件

来自分类Dev

蝗虫:如何使蝗虫在特定时间内运行

来自分类Dev

Android-在特定时间内更改按钮的颜色

来自分类Dev

如何在特定时间内执行方法?

来自分类Dev

jQuery-在特定时间内显示随机元素

来自分类Dev

如何使Label在特定时间内可见,然后在JavaFX中不可见?

来自分类Dev

在data.table中按组删除特定时间内相同的连续值

来自分类Dev

如何在Debian中阻止cron作业在特定时间内运行?(“游戏” /“表演模式”)

来自分类Dev

Java-在特定时间内从数字中减去32

来自分类Dev

使用后进行反应测试是否未发生任何事情

来自分类Dev

-XStrict是否在GHC中做任何事情?

来自分类Dev

在恒定时间内查找堆栈中的最小元素

来自分类Dev

检测在短时间内是否多次调用函数

来自分类Dev

构建成功,但是在部署过程中未发生任何事情

Related 相关文章

  1. 1

    Javascript检查一段时间内是否未发生任何事情

  2. 2

    如何在特定时间内暂停剪辑/对象?

  3. 3

    PHP检查日期是否在特定时间内

  4. 4

    在特定时间内运行功能

  5. 5

    在特定时间内减少变量

  6. 6

    如果在给定时间范围内未发出任何值,则rxjs发出恒定值

  7. 7

    检查条件是否在更长的时间内为真 - 不仅在特定时间

  8. 8

    Cycle.js:自定义驱动程序不会在main()内部发出任何事件

  9. 9

    钩住任何事件并计算时间执行

  10. 10

    $ locationChangeStart之前是否有任何事件?

  11. 11

    用户转弯时是否有任何事件发生?

  12. 12

    Unity 3D在GetButtonDown上的特定时间内移动对象

  13. 13

    如何检查特定时间内是否收到响应包?

  14. 14

    iOS确定用户在特定时间内是否不移动

  15. 15

    AS3在按钮(或其他任何事件)事件之后的一定时间范围内运行事件

  16. 16

    无法捕获控制器中的任何事件

  17. 17

    蝗虫:如何使蝗虫在特定时间内运行

  18. 18

    Android-在特定时间内更改按钮的颜色

  19. 19

    如何在特定时间内执行方法?

  20. 20

    jQuery-在特定时间内显示随机元素

  21. 21

    如何使Label在特定时间内可见,然后在JavaFX中不可见?

  22. 22

    在data.table中按组删除特定时间内相同的连续值

  23. 23

    如何在Debian中阻止cron作业在特定时间内运行?(“游戏” /“表演模式”)

  24. 24

    Java-在特定时间内从数字中减去32

  25. 25

    使用后进行反应测试是否未发生任何事情

  26. 26

    -XStrict是否在GHC中做任何事情?

  27. 27

    在恒定时间内查找堆栈中的最小元素

  28. 28

    检测在短时间内是否多次调用函数

  29. 29

    构建成功,但是在部署过程中未发生任何事情

热门标签

归档