我正在开发Windows应用商店应用(C ++)。该应用程序使用Web服务从数据库加载数据,我希望该数据显示在页面上。 为什么我不能调用函数w.r.t在封闭函数内创建的类的实例?这是我的应用程序第一页的LoadState事件...
void ItemsPage::LoadState(Object^ navigationParameter, IMap<String^, Object^>^ pageState)
{
(void) pageState;
StorySource^ storysource = ref new StorySource();
task<wstring> (GetFromDB(cancellationTokenSource.get_token()))
.then([this, storysource](task<wstring> response){
try
{
auto resp = response.get();
storysource->Init(resp);
DefaultViewModel->Insert("Items", storysource->AllGroups);
}
catch(COMException^ ex)
{ ... }
});
}
我无法在.then()块中执行任何函数。我需要以某种方式将GetFromDB()的完成链接到StorySource :: Init(),并将其链接到DefaultViewModel-&gt; Insert()。
我是异步编程的新手。请解释一下我做错了什么,以及解决问题的方法。提前谢谢。