美文网首页
RAC响应冲突问题解决

RAC响应冲突问题解决

作者: 王律 | 来源:发表于2018-09-12 15:10 被阅读10次
     // 获取所有成员
        [self.viewModel.managerModel.requestMembersCommand.executionSignals.switchToLatest subscribeNext:^(id  _Nullable x) {
            @strongify(self);
            if (x) {
                self.managerView.viewModel = self.viewModel.managerModel;
                [self updateViews];
            }
        }];
        [self.viewModel.managerModel.requestMembersCommand execute:nil];
    
    // 成员改变
        [[[NSNotificationCenter defaultCenter] rac_addObserverForName:kPowerDetailMemberChanged object:nil]subscribeNext:^(NSNotification * _Nullable x) {
            @strongify(self);
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [self.viewModel.managerModel.requestMembersCommand execute:nil];
            });
        }];
    
    多个地方同时调用 
    [self.viewModel.managerModel.requestMembersCommand execute:nil]; 时,
    [self.viewModel.managerModel.requestMembersCommand.executionSignals.switchToLatest subscribeNext:^(id  _Nullable x) {}]
    响应可能有冲突  ,使用延时解决 
      dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            });
    

    相关文章

      网友评论

          本文标题:RAC响应冲突问题解决

          本文链接:https://www.haomeiwen.com/subject/miwvgftx.html