首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不使用[RACSignal createSignal]的情况下返回RACSignal

如何在不使用[RACSignal createSignal]的情况下返回RACSignal
EN

Stack Overflow用户
提问于 2016-03-11 10:06:41
回答 1查看 333关注 0票数 0

例如,我当前的实现如下所示:

代码语言:javascript
复制
- (RACSignal *)getPlaylist {
  return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
    [[[buttonClickSignal
      flattenMap:^(UIButton *sender) {
          return [self logInWithUsername:username password:password];
      }]
      flattenMap:^(NSDictionary *json) {
          return [self fetchPlaylistForToken:token];
      }]
      subscribeNext:^(NSDictionary *json) {
        [subscriber sendNext:json];
        [subscriber sendCompleted];
      }];
      return nil;
  }];
}

如何在不使用RACSignal createSignal方法的情况下返回新信号?

EN

回答 1

Stack Overflow用户

发布于 2016-03-11 10:26:14

为什么不直接返回映射的buttonClickSignal呢?我不认为这有什么问题:

代码语言:javascript
复制
- (RACSignal *)getPlaylist {
    return [[buttonClickSignal
              flattenMap:^(UIButton *sender) {
                  return [self logInWithUsername:username password:password];
              }]
              flattenMap:^(NSDictionary *json) {
                  return [self fetchPlaylistForToken:token];
              }];
}

由于您现在似乎忽略了错误,因此如果有任何flattenMapped发出错误信号,那么您当前的实现将永远不会完成。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35930970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档