菜鸟教程小白 发表于 2022-12-12 09:36:55

ios - ReactiveCocoa 条件异步信号


                                            <p><p>我有一个 <code>merge</code> 操作,它取决于两个异步操作的结果。第一个是网络操作,第二个是位置授权成功或失败。我不关心这些操作的<em>值</em>,它们都已经完成了。</p>

<p>这就是它的样子:</p>

<pre><code>RACSignal *networkCallReturned = [[ rac_addObserverForName:kNetworkCallReturned object:nil] take:1];
RACSignal *locationPermission = [[ rac_addObserverForName:kLocationManagerGotLocationPermission object:nil] take:1];

@weakify(self);
[
subscribeCompleted:^{
    @strongify(self);

    // Do something else here
}];
</code></pre>

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

<p>我是否必须设置另一个监控可达性的信号,然后获取从 <code>networkCallReturned</code> 或可达性信号发送的第一个值?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您<em>可以</em>监控可达性,但臭名昭著地充满了竞争和边缘情况。通过捕获因无法完成网络调用或网络调用超时而导致的错误,您似乎会得到更好的服务。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - ReactiveCocoa 条件异步信号,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23412639/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23412639/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - ReactiveCocoa 条件异步信号