Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 获取_\dhashmap<;字符串,动态>';不是类型为';未来者<;回应>';_Dart_Flutter - Fatal编程技术网

Dart 获取_\dhashmap<;字符串,动态>';不是类型为';未来者<;回应>';

Dart 获取_\dhashmap<;字符串,动态>';不是类型为';未来者<;回应>';,dart,flutter,Dart,Flutter,我是Dart/FLUTRAT方面的新手,我正试图获得一个未来使用Web服务的结果: Future<Map> _readData() async { (...) http.Response response = await http.post( request, headers: { "SOAPAction": "http://www.totvs.com/IwsConsultaSQL/RealizarConsultaSQL", "Co

我是Dart/FLUTRAT方面的新手,我正试图获得一个未来使用Web服务的结果:

 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 ;
});
我总是遇到这样的例外:

_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'FutureOr<Response>'
\u InternalLinkedHashMap'不是“FutureOr”类型的子类型
你知道我做错了什么吗


谢谢

此错误是否与此代码一起出现

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 ;
}
Future\u readData()异步{
//...
http.Response-Response=等待http.post(
要求
标题:{
“SOAPAction”:http://www.totvs.com/IwsConsultaSQL/RealizarConsultaSQL",
“内容类型”:“text/xml;charset=UTF-8”,
“授权”:“基本bWVzdHJlOnRvdHZz”,
“缓存控制”:“无缓存”
},
正文:utf8.encode(请求正文),
编码:encoding.getByName(“UTF-8”)
);
//...
var dataFinal=jsonDecode(jsondataFinal);
返回最终数据;
}

此错误是否与此代码一起出现

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 ;
}
Future\u readData()异步{
//...
http.Response-Response=等待http.post(
要求
标题:{
“SOAPAction”:http://www.totvs.com/IwsConsultaSQL/RealizarConsultaSQL",
“内容类型”:“text/xml;charset=UTF-8”,
“授权”:“基本bWVzdHJlOnRvdHZz”,
“缓存控制”:“无缓存”
},
正文:utf8.encode(请求正文),
编码:encoding.getByName(“UTF-8”)
);
//...
var dataFinal=jsonDecode(jsondataFinal);
返回最终数据;
}

不能同时使用wait和then。您的代码应该如下所示

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(response.body);

  return  dataFinal ;
}
Future\u readData()异步{
(...)
http.Response-Response=等待http.post(
要求
标题:{
“SOAPAction”:http://www.totvs.com/IwsConsultaSQL/RealizarConsultaSQL",
“内容类型”:“text/xml;charset=UTF-8”,
“授权”:“基本bWVzdHJlOnRvdHZz”,
“缓存控制”:“无缓存”
},
正文:utf8.encode(请求正文),
编码:encoding.getByName(“UTF-8”)
);
var dataFinal=jsonDecode(response.body);
返回最终数据;
}

不能同时使用wait和then。您的代码应该如下所示

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(response.body);

  return  dataFinal ;
}
Future\u readData()异步{
(...)
http.Response-Response=等待http.post(
要求
标题:{
“SOAPAction”:http://www.totvs.com/IwsConsultaSQL/RealizarConsultaSQL",
“内容类型”:“text/xml;charset=UTF-8”,
“授权”:“基本bWVzdHJlOnRvdHZz”,
“缓存控制”:“无缓存”
},
正文:utf8.encode(请求正文),
编码:encoding.getByName(“UTF-8”)
);
var dataFinal=jsonDecode(response.body);
返回最终数据;
}

您不必同时使用
等待
然后
。好的,但这不是问题:D,我会调整这个,但即使没有等待,也会给我同样的错误。您不必同时使用
等待
然后
。好的,但这不是问题:D,我会调整这个,但即使没有等待,也会给我同样的错误。