From 888275763feaf537f01c190b23402325ebe1f9da Mon Sep 17 00:00:00 2001 From: azw Date: Sat, 19 Aug 2023 00:01:32 +0800 Subject: [PATCH] 1 --- a8/promise.cc | 12 ++++++++++++ a8/promise.h | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 a8/promise.cc diff --git a/a8/promise.cc b/a8/promise.cc new file mode 100644 index 0000000..4301210 --- /dev/null +++ b/a8/promise.cc @@ -0,0 +1,12 @@ +#include +#include + +namespace a8 +{ + + void CbPromise::DoAwait() + { + cb_(Awaiter::shared_from_this()); + } + +} diff --git a/a8/promise.h b/a8/promise.h index 3cc4d3e..79bd4ce 100644 --- a/a8/promise.h +++ b/a8/promise.h @@ -1,5 +1,7 @@ #pragma once +#include + namespace a8 { @@ -7,9 +9,17 @@ namespace a8 { }; - class NormalPromise : public Awaiter + class CbPromise : public Awaiter { - std::function<(std::shared_ptr)> cb; + public: + CbPromise(std::function)> cb):Awaiter() + { cb_ = cb; } + + protected: + virtual void DoAwait() override; + + private: + std::function)> cb_; }; }