schedule<M2> method

_ContinuationMessageAction<M, T> schedule<M2>(
  1. FutureOr<Object> getMessage(
    1. MessageContext msgCtx,
    2. M msg,
    3. T ctx
    ), {
  2. Duration duration = Duration.zero,
  3. bool periodic = false,
  4. String? label,
})

Implementation

_ContinuationMessageAction<M, T> schedule<M2>(
  FutureOr<Object> Function(MessageContext msgCtx, M msg, T ctx) getMessage, {
  Duration duration = Duration.zero,
  bool periodic = false,
  String? label,
}) {
  return _ContinuationMessageAction<M, T>._(
    _ActionType.schedule,
    (msgCtx, msg, ctx) => getMessage(msgCtx, msg, ctx).bind(
      (scheduleMsg) => msgCtx.schedule(
        () => scheduleMsg,
        duration: duration,
        periodic: periodic,
      ),
    ),
    TypeLiteral<M2>().type,
    label,
  );
}