gpt4 book ai didi

ios - ReactiveCocoa 条件异步信号

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:54 25 4
gpt4 key购买 nike

我有一个 merge 操作,它依赖于两个异步操作的结果。一是网络操作,二是位置授权成败。我不关心这些操作的,只关心它们都已完成。

这是它的样子:

RACSignal *networkCallReturned = [[[NSNotificationCenter defaultCenter] rac_addObserverForName:kNetworkCallReturned object:nil] take:1];
RACSignal *locationPermission = [[[NSNotificationCenter defaultCenter] rac_addObserverForName:kLocationManagerGotLocationPermission object:nil] take:1];

@weakify(self);
[[RACSignal merge:@[ networkCallReturned, locationPermission ]
subscribeCompleted:^{
@strongify(self);

// Do something else here
}];

我遇到的问题是当我无法接通时无法进行网络调用。这也不是我能改变的。如果我没有可达性,如何有条件地触发 networkCallReturned 信号?

我是否必须设置另一个信号来监控可达性,然后获取从 networkCallReturned 或可达性信号发送的第一个值?

最佳答案

可以监控可达性,但臭名昭著的是充满了竞争和边缘情况。捕获因无法完成网络调用或网络调用超时而导致的错误似乎会更好。

关于ios - ReactiveCocoa 条件异步信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23412639/

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