createSyncNoResult<TParam> method

RxCommand<TParam, void> createSyncNoResult <TParam>(
  1. Action1<TParam> action,
  2. {Stream<bool> canExecute,
  3. bool emitInitialCommandResult: false,
  4. bool emitsLastValueToNewSubscriptions: false}
)

Creates a RxCommand for a synchronous handler function with one parameter and no return type action: handler function canExecute : observable that can be used to enable/disable the command based on some other state change if omitted the command can be executed always except it's already executing isExecuting will issue a bool value on each state change. Even if you subscribe to a newly created command it will issue false For the Observable<CommandResult> that RxCommand publishes in results this normally doesn't make sense if you want to get an initial Result with data==null, error==null, isExecuting==false pass emitInitialCommandResult=true. By default the results Observable and the RxCommand itself behave like a PublishSubject. If you want that it acts like a BehaviourSubject, meaning every listener gets the last received value, you can set emitsLastValueToNewSubscriptions = true.

Implementation

static RxCommand<TParam, void> createSyncNoResult<TParam>(
    Action1<TParam> action,
    {Stream<bool> canExecute,
    bool emitInitialCommandResult = false,
    bool emitsLastValueToNewSubscriptions = false}) {
  return RxCommandSync<TParam, void>((x) {
    action(x);
    return null;
  }, canExecute, emitInitialCommandResult, false,
      emitsLastValueToNewSubscriptions, null);
}