我为以下代码收到两个错误:
CC = /usr/bin/g++
LD = /usr/bin/g++
PG_HOMEDIR = /Library/PostgreSQL/9.4/
CPPFLAGS = -O3
CPPFLAGS += -I${PG_HOMEDIR}/include
...
LOAD_OBJS = bulkload.o loadgraph/load.o util/util.o util/graphutil.o db/pgsql_db.o config.o orthology/ortholog.o io/graphio.o io/gdf.o
我得到了:
我一直在尝试编写上面的代码,它将从Web服务下载一个字符串,但似乎有很多关于如何使用async和await的冲突信息以及如何使用HttpClient和我这样做不知道我写的代码有什么问题。
我哪里出错了,我应该怎么做呢?
答案 0 :(得分:6)
此方法client.GetStringAsync
返回Task<string>
public Task<string> TestDownloadTask()
{
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(@"https://api.nasa.gov/planetary/apod");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// You don't need await here
return client.GetStringAsync("?concept_tags=True&api_key=DEMO_KEY");
}
}
使用上述功能:
public async void SomeMethod()
{
// await to get string content
string mystring = await TestDownloadTask();
}
答案 1 :(得分:2)
更改为
return await client.GetStringAsync("?concept_tags=True&api_key=DEMO_KEY");
或
return await response.Content.ReadAsStringAsync();