Return 来自 HttpRequest 的字符串

Return string from HttpRequest

在 Dart 中我可以做到:

await HttpRequest.getString(path)

这将 return 一个字符串。

我想创建一个方法来做同样的事情,但是像这样:

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

我可以使用事件和 futures 来完成,但我想了解如何使用 async & await 具体来完成。

编辑: 这是针对浏览器的 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;
}