类Requests建立了一个HttpClientRequest。方法getTeamsJsonForRequest应该返回JSON响应。但是,假设变量“ return”未正确分配。 .then响应中的打印'CONTS'成功打印了正确的响应,但是打印'myres'部分显示结果为空。不确定为什么没有在response.transform部分中分配结果。
class Requests {
static Future getTeamsJsonForRequest(String reqPath) async{
var result;
HttpClient myhttp = new HttpClient();
String path = '/api/v3' + reqPath;
myhttp.get('www.thebluealliance.com', 80, path)
.then((HttpClientRequest request) {
request.headers.set("accept", "application/json");
request.headers.set("X-TBA-Auth-Key", "XXXXX");
return request.close();
})
.then((HttpClientResponse response) {
response.transform(utf8.decoder).transform(json.decoder).listen((conts) {
print('CONTS: ' + conts.toString());
result = json.decode(conts).toString();
});
});
print('myres: ' + result.toString());
return result;
}
}
答案 0 :(得分:0)
简短的回答:避免在N <- 100 # Set sample size
# Create filename
fileName <- paste("binAll", N, "dne", sep=".")
print(fileName)
# Example write function
write.table(yourData, file=fileName)
方法内使用Future.then
。
您的async
正在执行,然后返回响应。 https://www.dartlang.org/tutorials/language/futures#async-await
在没有print
的情况下,异步执行的任何工作都会在执行该函数中的后续语句后 发生。
这是我的写法:
await