Функции асинхронизации или синхронизацииC#

Место общения программистов C#
Anonymous
Функции асинхронизации или синхронизации

Сообщение Anonymous »

Рассмотрим это единственное место клиента API с асинхронной функцией «Индекс» < /p>
public async Task TestServiceError()
{
var client = GetMockClient("{RETURN}", System.Net.HttpStatusCode.BadRequest);

await Should.ThrowAsync(async () => await client.Index());
}
< /code>
Мне остается интересно, какова будет разница, не используя асинхроpublic void TestServiceError()
{
var client = GetMockClient("{RETURN}", System.Net.HttpStatusCode.BadRequest);

Should.Throw(async () => await client.Index());
}
< /code>
или < /p>
public Task TestServiceError()
{
var client = GetMockClient("{RETURN}", System.Net.HttpStatusCode.BadRequest);

await Should.ThrowAsync(() => client.Index());
}
< /code>
Может быть, это лучше всего? Поскольку есть задача, возвращаемая из индекса, и ожидание перед этой задачей? Бросок синхронно, и ожидание делается в аргументе делегата. Кроме того, это просто чаевые с коротким живым кодом, называемым один раз.await Should.ThrowAsync(async () => await client.Index());
await Should.ThrowAsync(async () => await client.FindByODLTest("order", "dealer", "lab"));
await Should.ThrowAsync(async () => await client.RegisterAsync(new()));
// ETC.


Подробнее здесь: https://stackoverflow.com/questions/797 ... -unittests

Вернуться в «C#»