zoukankan      html  css  js  c++  java
  • ReactiveCocoa操作方法-线程时间

    ReactiveCocoa操作方法-线程
    deliverOn: 内容传递切换到制定线程中,副作用在原来线程中,把在创建信号时block中的代码称之为副作用。

    subscribeOn: 内容传递和副作用都会切换到制定线程中
     
     
     
    ReactiveCocoa操作方法-时间
    timeout:
         超时可以让一个信号再一定的时间后,自动报错
    - (void)timeout
    {
        RACSignal *signal = [[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
            return nil;
        }] timeout:1 onScheduler:[RACScheduler currentScheduler]];
        [signal subscribeNext:^(id x) {
            NSLog(@"%@", x);
        } error:^(NSError *error) {
            //1秒后会自动调用
            NSLog(@"error = %@", error);
        }];
        /*结果:error = Error Domain=RACSignalErrorDomain Code=1 "(null)"*/
    }
     
    interval:
         定时,每隔一段时间发出信号
    - (void)interval
    {
        [[RACSignal interval:1 onScheduler:[RACScheduler currentScheduler]] subscribeNext:^(id x) {
            NSLog(@"%@", x);
        }];
    }
     
    delay:
         延迟发送Next
    - (void)delay
    {
        [[[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
            [subscriber sendNext:@1];
            return nil;
        }] delay:2] subscribeNext:^(id x) {
            NSLog(@"%@", x);
        }];
    }
  • 相关阅读:
    一分钟 解决Tomcat端口 占用问题
    Java 自定义注解
    Java 解析自定义XML文件
    Junit(手动/自动)加载
    Java思维题
    SSM框架中使用日志框架
    DAC
    SPI接口的FLASH
    晶振测试起振方法
    Jlink不报错的方法
  • 原文地址:https://www.cnblogs.com/HMJ-29/p/4944007.html
Copyright © 2011-2022 走看看