RAC响应冲突问题解决

2018-09-12  本文已影响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(), ^{
        });
上一篇下一篇

猜你喜欢

热点阅读