在 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/