From de00fa24da6f5af70a8a8f95ab6d4f996ffeb6bb Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 28 Apr 2015 09:46:28 +0200 Subject: Async::wait Useful in i.e. loops that have to wait a bit before every execution. --- async/src/async.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'async/src/async.cpp') diff --git a/async/src/async.cpp b/async/src/async.cpp index e92d333..0e86a84 100644 --- a/async/src/async.cpp +++ b/async/src/async.cpp @@ -20,6 +20,7 @@ #include #include #include +#include using namespace Async; @@ -133,3 +134,15 @@ Job Async::dowhile(ThenTask body) }); } +Job Async::wait(int delay) +{ + auto timer = QSharedPointer::create(); + return Async::start([timer, delay](Async::Future &future) { + timer->setSingleShot(true); + QObject::connect(timer.data(), &QTimer::timeout, [&future]() { + future.setFinished(); + }); + timer->start(delay); + }); +} + -- cgit v1.2.3