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

标签 dart

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

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

由于 http.post 根据定义返回一个 Future(Response),难道 await 不能解决这个问题吗?我以为会。

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

从某种意义上说,我一直认为 await 会解开 Future 对象并将其分配给任何...在本例中为 Response 变量。

最佳答案

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

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

如果函数体没有 async 修饰符,则 async 是一个有效的标识符,因为 async 不是关键字。

关于dart - 为什么我不能通过等待将变量分配给异步调用的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160527/

相关文章:

flutter - 当我按下下载按钮时,如何显示带有CircularProgressIndicator的弹出窗口和下载状态

Dart DNS 查找 TXT 记录

dart - 如何使用 Dart 2.0 预览版运行测试

php - FLUTTER&PHP-我无法从Flutter应用发布到mysql数据库

Firebase Crashlytics 崩溃未报告给 Flutter 中的 Firebase 控制台

dart - `<template repeat>` 的作用域规则是什么

flutter - 使用 'GeoLocator' 包时无法获取纬度和经度

flutter - 如何在Flutter中的Matrix Gesture Detector小部件中重置矩阵的比例?

flutter - 如何在全局范围内使用这种方法?

string - flutter/Dart : Convert HEX color string to Color?