繁体   English   中英

如何等待辅助异步方法的返回?

[英]how to await the return of the auxiliar async method?

我有这种方法:

private async void myMethod01()
{
    await myAynchMethod();

    //more code
}


private void myMethod02()
{
    //code
    myMethod01();
    //more code
}

当我执行代码时,当myMethod02调用myMethod01时,继续执行//更多代码,而又不希望myMethod01完成其代码。

这是因为myMethod01中的await将执行点返回到myMethod02,而myMethod02在调用mymethod01之后继续下一行代码。

我想知道在myMethod02中是否有任何方法可以等到myMethod02完成执行。

我希望myMethod01尽可能不返回任务。

非常感谢。

我想知道在myMethod02中是否有任何方法可以等到myMethod01完成执行。

我希望myMethod01尽可能不返回任务。

是两个矛盾的句子。 如果您将synchorounsly 等到 Method01完成,它的异步,你就必须使之与是awaitable返回一个类型。 不一定必须是Task ,它可以是实现GetAwaiter方法的自定义类型, GetAwaiter返回实现INotifyCompletionICriticalNotifyCompletion

您绝对不能让方法返回void并异步地等待它完成,这没有任何意义。 相反,您可以简单地同步运行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM