为什么 http.post 不是异步函数
Why is http.post not an async function
我正在用 dart 开发一个应用程序。我使用 http 包。
我从 documentation:
复制了示例代码
var url = Uri.parse('https://example.com/whatsit/create');
var response = await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
并得到这个错误:
Error: The await expression can only be used in an async function.
我不知道为什么这不起作用。这是他们自己的例子。
您需要确保您的代码是在 Future 函数中编写的,如下所示:
void yourFunction() async {
var url = Uri.parse('https://example.com/whatsit/create');
var response = await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
}
或者,如果您不能这样做,请使用 .then()
语法
var url = Uri.parse('https://example.com/whatsit/create');
http.post(url, body: {'name': 'doodle', 'color': 'blue'}).then((response) {
print('Response status: ${response?.statusCode}');
print('Response body: ${response?.body}');
});
我正在用 dart 开发一个应用程序。我使用 http 包。 我从 documentation:
复制了示例代码var url = Uri.parse('https://example.com/whatsit/create');
var response = await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
并得到这个错误:
Error: The await expression can only be used in an async function.
我不知道为什么这不起作用。这是他们自己的例子。
您需要确保您的代码是在 Future 函数中编写的,如下所示:
void yourFunction() async {
var url = Uri.parse('https://example.com/whatsit/create');
var response = await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
}
或者,如果您不能这样做,请使用 .then()
语法
var url = Uri.parse('https://example.com/whatsit/create');
http.post(url, body: {'name': 'doodle', 'color': 'blue'}).then((response) {
print('Response status: ${response?.statusCode}');
print('Response body: ${response?.body}');
});