createAsyncNoParam<TResult> method
Creates a RxCommand for an asynchronous handler function with no parameter that returns a value
func
: handler function
canExecute
: observable that can bve used to enable/diable 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, isExceuting==false
pass
emitInitialCommandResult=true
.
emitLastResult
will include the value of the last successful execution in all CommandResult events unless there is no new result.
By default the results Observable and the RxCommand itself behave like a PublishSubject. If you want that it acts like
a BehaviourSubject, meaning every new listener gets the last received value, you can set emitsLastValueToNewSubscriptions = true
.
initialLastResult
sets the value of the lastResult property before the first item was received. This is helpful if you use
lastResult as initialData
of a StreamBuilder
Implementation
static RxCommand<void, TResult> createAsyncNoParam<TResult>(AsyncFunc<TResult> func,
{Observable<bool> canExecute,
bool emitInitialCommandResult = false,
bool emitLastResult = false,
bool emitsLastValueToNewSubscriptions = false,
TResult initialLastResult}) {
return new RxCommandAsync<void, TResult>((_) async => func(), canExecute, emitInitialCommandResult, emitLastResult,
emitsLastValueToNewSubscriptions, initialLastResult);
}