[MODIFY]
1. change the unsigned char to uint8_t.
2. add a return value for wait_handler to indicate the async has been destoried.