| Home | Libraries | People | FAQ | More

#### basic_waitable_timer::async_wait

Start an asynchronous wait on the timer.

    template<
        typename WaitHandler>
    DEDUCED async_wait(
        WaitHandler && handler);

This function may be used to initiate an asynchronous wait against the timer. It always returns immediately.

For each call to `async_wait()`, the supplied handler will be called exactly once. The handler will be called when:

- The timer has expired.
- The timer was cancelled, in which case the handler is passed the error code `boost::asio::error::operation_aborted`.

###### Parameters

handler

  The handler to be called when the timer expires. Copies will be made of the handler as required. The function signature of the handler must be:

      void handler(
        const boost::system::error_code& error // Result of operation.
      );

  Regardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `boost::asio::io_context::post()`.