我正在尝试学习如何用dart发出一些http请求和响应。 假设我有以下简单代码:
import 'dart:html';
import 'dart:convert';
void main() {
var data = { 'hello' : 'world' };
HttpRequest.request(
'https://somesite.com',
method: 'POST',
sendData: json.encode(data),
requestHeaders: {
'Content-Type': 'application/json; charset=UTF-8'
}
)
.then((resp) {
print(resp.responseText);
});
}
我看到“ resp”是异步的,对吗? 如果是这样,如何正确检查响应的状态?
我试图做这样的事情:(这是我的代码)
LoginToken login(String email, String password) {
var data = {'email': email, 'password': password};
HttpRequest.request(API_PREFIX + LOGIN_ENDPOINT,
method: POST,
sendData: json.encode(data),
requestHeaders: {
'Content-Type' : CONTENT_TYPE
}
).then((resp){
**insert a check here**
String body = resp.responseText;
final Map decoded = json.decode(body);
String key = decoded['login_key'];
String experial = decoded['experial'];
LoginToken loginToken = new LoginToken(key,experial);
return loginToken;
});
}
有没有更清洁的方法?