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);
        }];
    }
  • 相关阅读:
    1008 Elevator
    mysql---时间类型详解
    mysql导入导出
    mysql不能启动报error2013错误的解决办法
    mysql总结
    mysql安装图解
    Access连接数据源配置(新手必知)
    eclipse建包的一些细节
    数据库操作(存着用来复制省的每次写)
    (工具类)MD5算法|时间格式转换|字符串转数字
  • 原文地址:https://www.cnblogs.com/HMJ-29/p/4944007.html
Copyright © 2011-2022 走看看