retry重试
     只要失败,就会重新执行创建信号中的block,直到成功.

 __block int i = 0;
[[[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { if (i == 10) {
[subscriber sendNext:@1];
}else{
NSLog(@"接收到错误");
[subscriber sendError:nil];
}
i++; return nil; }] retry] subscribeNext:^(id x) { NSLog(@"%@",x); } error:^(NSError *error) {
NSLog(@“error = %@",error);
}];
 
replay重放
     当一个信号被多次订阅,反复播放内容
 RACSignal *signal = [[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@1];
[subscriber sendNext:@2];
return nil;
}] replay]; [signal subscribeNext:^(id x) {
NSLog(@"第一个订阅者%@",x);
}]; [signal subscribeNext:^(id x) {
NSLog(@"第二个订阅者%@",x);
}];
 
throttle节流
     当某个信号发送比较频繁时,可以使用节流,在某一段时间不发送信号内容,过了一段时间获取信号的最新内容发出。
RACSubject *signal = [RACSubject subject];
_signal = signal;
// 节流,在一定时间(1秒)内,不接收任何信号内容,过了这个时间(1秒)获取最后发送的信号内容发出。
[[signal throttle:1] subscribeNext:^(id x) {
NSLog(@"%@",x);
}];

最新文章

  1. Enterprise Solution 虚拟测试环境
  2. MVC5 网站开发实践 1、建立项目
  3. 微信小程序实例
  4. 验证视图状态MAC失败。如果此应用程序由网络场或群集承载,请确保配置指定了相同的validationKey和验证算法(转)
  5. CentOS 6.5下Redis安装详细步骤
  6. Android下创建一个SQLite数据库
  7. Nginx初学者指南
  8. MyBatis源码分析(1)-MapConfig文件的解析
  9. Windows7上搭建Cocos2d-x 3.1.1开发环境
  10. Apache-Shiro+Zookeeper系统集群安全解决方案之缓存管理
  11. ASP.NET文章目录导航
  12. 数值积分NIntegrate中的具体算法
  13. FIREDAC连接SQLITE乱码的解决
  14. 【Winform】锐浪报表使用
  15. 北京出dell s2740显示器 1900 - V2EX
  16. 新手入门vue 使用vue-cli创建项目
  17. 【原创】大叔问题定位分享(18)beeline连接spark thrift有时会卡住
  18. TreeView CheckBox勾选联动
  19. [Angular] &#39;providedIn&#39; for service
  20. MDX函数

热门文章

  1. robot_framewok自动化测试--(7)认识RIDE
  2. 2021广东省强网杯WriteUp
  3. GitHub 12个实用技巧-从projiect项目管理、代码链接到博客wiki全过程
  4. 大爽Python入门教程 3-6 答案
  5. js-sequence-diagrams &gt; 时序图
  6. 分布式条件下Integer大小比值的问题
  7. Vue: 一个简单的Vue2.0 v-model双向数据绑定的实现,含源代码,小白也能看懂
  8. 由于vue的for循环id并不严谨,提高id严谨性
  9. javascript-初级-day05js函数传参
  10. ThinkPad笔记本外放没声音解决办法(不是驱动的原因)