dart - 从 HttpRequest 返回字符串

标签 dart dart-html dart-async

在 Dart 中我可以做:

await HttpRequest.getString(path)

这将返回一个字符串。

我想创建一个可以执行相同操作的方法,但如下所示:

HttpRequest request = new HttpRequest();
request
    ..open('Get',getPath)
    ..setRequestHeader('Content-Type','application/json')
    ..send('');
...
return responseString;

我可以使用事件和 future 来做到这一点,但我想了解如何专门使用 async 和 wait 来做到这一点。

编辑: 这是针对浏览器的 dart:html HttpRequest。

最佳答案

还没有尝试过,但我想这就是你正在寻找的

import 'dart:html';
import 'dart:async';

main() async {
 print(await getString());
}

Future<String> getString() async {
  String getPath = 'https://dartpad.dartlang.org/';
  HttpRequest request = new HttpRequest();
  request
    ..open('Get',getPath)
    ..setRequestHeader('Content-Type','application/json')
    ..send('');

  // request.onReadyStateChange.listen(print);
  await request.onLoadEnd.first;

  return request.responseText;
}

关于dart - 从 HttpRequest 返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34681250/

相关文章:

string - 如何在dart中使用关系运算符比较日期?

dart - 反射(reflect)原始类型如 "double"导致意外输出

unit-testing - 使用新的测试库在dart中设置单元测试的最佳方法是什么?

dart - 在 Dart 中必须 element.html ("") 出现在 body 标签的上下文中吗?

onclick - 检查元素是否是Dart中另一个元素的子元素

dart - Dart 中的异步/ future 错误处理未按预期工作

flutter - 从匿名函数返回值

dart - 我可以使用 Dart 获取跟踪所有异步调用的 "stack trace"吗?

Dart 语言支持 async/await 编程风格,还是类似的?

dart - 在Dart中使用UNIX套接字