#pragma once #include #include "Poco/Task.h" #include "Poco/TaskManager.h" namespace qcloud_cos { using TaskFunc = std::function; class AsyncTask : public Poco::Task { public: explicit AsyncTask(TaskFunc &&f) : Task("AsyncTask"), _f(f) {} ~AsyncTask() {} void runTask() { _f(); } private: TaskFunc _f; }; } // namespace qcloud_cos