首页 > 解决方案 > C#中同一语句中的多个异步调用

问题描述

即使第一个返回 false,是否所有调用都发生了?第二个在等第一个吗?

if (await callAsync() && await callAsync()) {...}

if (await callAsync() & await callAsync()) {...}

if (await callAsync() || await callAsync()) {...}

标签: c#

解决方案


在这两种情况下,调用仍然在执行流程中按顺序发生,而不是并行发生。在第一种情况下,第二次调用仅在第一次返回时发生true;在第二种情况下,两者都会发生(假设没有抛出异常)。


推荐阅读