我使用此示例https://webdev.dartlang.org/articles/get-data/json-web-service作为开发使用 API 端点数据的 Dart 应用程序的起点:
void saveData() {
HttpRequest request = new HttpRequest(); // create a new XHR
// add an event handler that is called when the request finishes
request.onReadyStateChange.listen((_) {
if (request.readyState == HttpRequest.DONE &&
(request.status == 200 || request.status == 0)) {
// data saved OK.
print(request.responseText); // output the response from the server
}
});
// POST the data to the server
var url = "http://127.0.0.1:8080/programming-languages";
request.open("POST", url, async: false);
String jsonData = '{"language":"dart"}'; // etc...
request.send(jsonData); // perform the async POST
}
我认为这是发生某事时运行的传统回调。在收到响应时执行。
不过,我想尝试其他方法,例如使用 Futures/Promises 或 async/await。
是否可以将此示例转换为浏览器中的任何这些替代方案?
如果是这样,您能否展示示例在实现为 Future 或 async/await 时的外观?