dart - 获取 _InternalLinkedHashMap<String, dynamic >' is not a subtype of type ' FutureOr<Response>'

标签 dart flutter

我是 Dart/Flutter 的新手,我正在尝试获取使用网络服务的 future 结果:

 Future<Map> _readData() async {
   (...)


http.Response response = await http.post(
    request,
    headers: {
      "SOAPAction": "http://www.totvs.com/IwsConsultaSQL/RealizarConsultaSQL",
      "Content-Type": "text/xml;charset=UTF-8",
      "Authorization": "Basic bWVzdHJlOnRvdHZz",
      "cache-control": "no-cache"
    },
    body: utf8.encode(requestBody),
    encoding: Encoding.getByName("UTF-8")
).then((onValue){

  (...)


  var dataFinal = jsonDecode(jsondataFinal);

  return  dataFinal ;
});

在我的初始状态下,我调用了这个函数,所以我可以使用这个结果来构建我的布局:

     @override
  void initState () {
    super.initState();
    _readData().then((data){
      setState(() {
        print(data);

      });

    });

  }

我总是得到这个异常(exception):

_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'FutureOr<Response>'

对我做错了什么有什么想法吗?

谢谢

最佳答案

此代码是否出现此错误?

Future<Map> _readData() async {
  //...
  http.Response response = await http.post(
    request,
    headers: {
      "SOAPAction": "http://www.totvs.com/IwsConsultaSQL/RealizarConsultaSQL",
      "Content-Type": "text/xml;charset=UTF-8",
      "Authorization": "Basic bWVzdHJlOnRvdHZz",
      "cache-control": "no-cache"
    },
    body: utf8.encode(requestBody),
    encoding: Encoding.getByName("UTF-8")
  );
  //...
  var dataFinal = jsonDecode(jsondataFinal);
  return  dataFinal ;
}

关于dart - 获取 _InternalLinkedHashMap<String, dynamic >' is not a subtype of type ' FutureOr<Response>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53651294/

相关文章:

string - 如何使用 Dart 将字符串解析为数字?

multithreading - Dart 真的是一种单线程编程语言吗?

flutter - 在文本小部件 flutter 中打印 int 值

sqlite - flutter : Difference between Moor and floor ORMs

flutter - 我正面临着将嵌套对象列表的结果转换为概率树结果形式的困难。如下

firebase - 如何使用 buildArguments 或其他任何东西在 Flutter/FirebaseAnimatedList 中查询? (请举例)

dart - 如何仅在按下按钮时调用方法?

list - 如何将多个列表合并为一个列表? Dart

Flutter RawKeyboardListener 在 Release模式下不起作用

flutter - 如何在三元运算符中使用多个语句时摆脱 'Avoid using unnecessary statements'