【发布时间】:2018-06-09 09:50:28
【问题描述】:
我有一个函数作为QtConcurrent::run 计算的结果返回QFuture 对象。但是,在运行并发方法之前可能存在一些情况,我需要从我的函数中手动返回一个值持有未来。
QFuture<bool> foo(const QString &bar)
{
if (bar.isEmpty()) {
return QFuture<bool>(false); // This does not work.
// Here I need to return from the function, but I don't know how to do it.
}
return QtConcurrent::run([=]() -> bool {
// Asynchronous computations...
});
}
如何手动创建QFuture 对象?
或者(更广泛地)如何正确地从这种方法返回?
【问题讨论】:
-
如果
bar是空的QString,只抛出一个合适的异常会更简单/可以接受吗? -
你的例子对我有用
标签: qt qtconcurrent qfuture