0

我正在开发一个 Windows 应用商店应用程序 (C++)。该应用程序使用 Web 服务从数据库加载数据,我希望该数据显示在页面上。为什么我不能调用在封闭函数内创建的类的实例的函数?这是我的应用程序首页的 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->Insert()。

我对异步编程很陌生。请向我解释我做错了什么以及解决我的问题的方法。提前致谢。

4

0 回答 0