gpt4 book ai didi

swift - combineLatest 的个别失败会怎样?

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:47 26 4
gpt4 key购买 nike

如果我有两个 SignalProducers(实际上它们是 API 服务请求,所以它们只发送一次“下一个”),并将它们与 combineLatest 组合(因为我想在两者完成后关闭加载微调器),如果其中一个会发生什么失败?或者两者都失败了?

“失败”是否在组合信号上被调用(一次或两次?)?

如果一个失败而另一个成功,是否会在组合信号上调用“next”?

最佳答案

任何信号的失败都会导致整个组合信号出错并停止订阅。

如果一个信号发送其第一个下一个值,而另一个信号发送一个错误作为其第一个值,则下一个信号将丢失,combineLatest: 仅在所有信号发送其第一个下一个值时调用。

subscribeError: 只被调用一次。错误以单子(monad)方式工作,它们在链中向上冒泡并停止整个信号。

如果你想颠覆这个,那么你可以使用 catch:catchTo:retry 方法来处理错误。

(很抱歉谈论 Objective-C 方法,我不知道 Swift 语法)。

关于swift - combineLatest 的个别失败会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35759884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com