【问题标题】:issue with UWP CreateFileAsyncUWP CreateFileAsync 的问题
【发布时间】:2017-10-21 22:09:29
【问题描述】:

我在 C++/CX 中使用 UWP API 中的 CreateFileAsync 方法时遇到问题。 这是我要执行的代码:

    create_task(folder->CreateFileAsync(destination_file, Windows::Storage::CreationCollisionOption::OpenIfExists)).
        then(
            [this](StorageFile^ dest_file)
            {
                //do something here
            });

CreateFileAsync 的调用似乎是成功的,因为我的文件是在正确的位置创建的。 但是,我的 lambda 函数 (//do something here) 中的代码永远不会执行。

谁能解释我做错了什么?

【问题讨论】:

    标签: uwp c++-cx


    【解决方案1】:

    CreateFileAsync 的调用似乎是成功的,因为我的文件是在正确的位置创建的。但是,我的 lambda 函数中的代码(//在这里做一些事情)永远不会执行。

    我无法在我身边重现您的问题。您已使用 create_task 执行 CreateFileAsync 异步方法。 .then 块可以视为回调函数。并且会在CreateFileAsyncfinished 之后执行。你可以编写如下代码来验证它是否被执行。

    create_task(folder->CreateFileAsync("test.jpg", Windows::Storage::CreationCollisionOption::OpenIfExists)).
        then(
            [this](StorageFile^ dest_file)
    {
        OutputDebugString(L"excuted------->");
    });
    

    更多内容可以参考Asynchronous programming in C++

    【讨论】:

    • 谢谢,实际上该命令从未执行过。我不得不重构我的代码来解决这个问题。还是不知道发生了什么。
    • 这没有帮助。 OP 已经确定,有问题的代码不会执行。提供替代方法来确定代码未运行无法解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多