为什么我不能通过await将变量分配给异步调用的结果?

时间:2016-02-02 17:54:50

标签: dart

我有以下几行,但不起作用。它说:预期;等待之后。

import "package:http/http.dart" as http;
http.Response rslt = await http.post(/*...*/);

由于http.post定义会返回 Future(响应)await是否解决了这个问题?我以为会这样。

https://www.dartdocs.org/documentation/http/0.11.3%2B3/http/http-library.html

我总是在某种意义上认为,等待,将解开Future对象并将其分配给任何......在这种情况下是一个Response变量。

1 个答案:

答案 0 :(得分:3)

我很确定包含此代码的方法/函数缺少async修饰符。

Future someFunc() async {
  import "package:http/http.dart" as http;
  http.Response rslt = await http.post(/*...*/);
}

如果函数正文没有async修饰符,async是有效的标识符,因为async不是关键字。