// 获取所有成员
[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(), ^{
});
网友评论