【发布时间】:2025-12-29 09:20:16
【问题描述】:
我正在使用ReSwift 和RxSwift(如果没有这些信息,这个问题就没有多大意义)。
有没有一种标准的方式在 ReSwift 中分派动作创建者并在其完成处理后发生某些事情(即,完成处理动作以及动作创建者内部可能发生的所有内部请求)?
我确实知道实现此目的的一种方法:
func myActionCreator(_ callback: () -> Void) -> (state: AppState, store: Store<AppState>) -> Action? {
return { state, store in
_ = someRequest().subscribe(onNext: { _ in
callback()
})
return nil
}
}
store.dispatch(myActionCreator({
// callback
}))
但这有两个问题:
- 我宁愿使用标准方式
- 我还需要将此回调作为
Observable对象。
为了解释第二个原因,我需要这样的东西:
let observable = store.dispatch(myActionCreator)
所以我可以随意使用observable 变量。
当然,我可以自己实现所有这些日志记录,并使用store.dispatchReturningObservable 之类的东西作为Store 的扩展,但我正在寻找一种更简单的方法。
有吗?
【问题讨论】:
标签: swift rx-swift swift4 reswift