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;
}
在 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;
}