处理飞镖响应

时间:2020-03-31 04:50:02

标签: http dart

我正在尝试学习如何用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;
    });
  }

有没有更清洁的方法?

0 个答案:

没有答案