我是否必须等待一个异步方法

本文关键字:一个 异步方法 是否 等待 | 更新日期: 2023-09-27 18:07:36

我使用一个只支持异步方法的HttpClient。我是否必须在调用方法中await它们(而不是在异步方法本身中,据我所知,我必须等待HttpClient方法中的调用)?

在那个项目中我真的不需要多线程。我会很好地阻止并等待,直到我得到HttpClient的响应,因为我需要无论如何都有数据。这是一个Console应用程序

我是否必须等待一个异步方法

不,没有什么需要您await呼叫。调用只是返回一个Task<T>给你,而不是直接返回一个T。如果在Task上调用Result属性:

var result = client.MakeCallAsync().Result;

你在告诉它"我不在乎它是否阻塞,我希望我的代码(和这个线程)在这里等待,直到它完成。"

在那个项目中我真的不需要多线程。

async是关于异步的,而不是多线程。

我会很好地阻止和等待,直到我得到一个响应从HttpClient,因为我需要有数据无论如何。这是一个控制台程序。

在这种情况下,我只想说保持所有内容同步。即使用WebClient代替HttpClient