Ton*_*ina 3 c++ task c++11 ppl
我想创建一个已从给定结果中完成的新任务.我目前的解决方法是:
return concurrency::task<T>([]{return result;});
Run Code Online (Sandbox Code Playgroud)
有更好的吗?
问题出在以下代码中:
concurrency::task<bool> foo()
{
if (smth)
// the result is
return (foo_other() && foo_other2()).then([](std::vector<bool> results) {...});
//return false;
return concurrency::task<bool>([]{return false;});
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我的函数是异步的,它依赖于另一个异步函数.但有时我可以退出应用程序,例如,如果异步任务已经完成.在这种情况下,我需要返回一个返回指定结果的可持续任务.
您可以按如下方式创建已完成的任务:
concurrency::task_from_result<bool>(false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2197 次 |
| 最近记录: |