NAME

Mojolicious::Plugin::RenderSteps - ASync controllers without the boilerplate

SYNOPSIS

  # Mojolicious::Lite
  plugin 'RenderSteps';

  get '/foo' => sub {
    my $self=shift;
    $self->render_steps(sub {
      my $delay=shift;
      $self->ua->get('reddit.com/',$delay->begin);
    }, sub {
      my $delay=shift;
      $self->stash(res=>shift);
    });
  };

DESCRIPTION

Mojolicious::Plugin::RenderSteps lets you run async callbacks easily. When you call render_steps, it will automatically call render_later, and create a Mojo::IOLoop::Delay object, pass it your steps, and set up automatic rendering and error handling. This makes async actions behave like sync ones.

render_steps also automatically calls wait if the ioloop isn't running, so steps will function under PSGI, for instance.

SEE ALSO

Mojolicious, Mojolicious::Guides, http://mojolicio.us.

LICENSE

This module is licensed under the same terms as Perl itself.

COPYRIGHT

Copyright 2014 Marcus Ramberg