微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无效的参数:隔离消息中的参数非法:对象是闭包-函数'createDataList':

如何解决无效的参数:隔离消息中的参数非法:对象是闭包-函数'createDataList':

compute 只能使用顶级功能,而不能使用实例或静态方法

顶级函数是声明为不在类内部且不在另一个函数内的函数

List<DataModel> createDataList(String responFroJson) {
...
}

class SomeClass { ... }

应该修复它。

https://docs.flutter.io/flutter/foundation/compute.html

R是返回值的类型。callback参数必须是顶级函数,而不是类的闭包,实例或静态方法

解决方法

我尝试使用moviedb
API从Internet上获取数据,我按照https://flutter.io/cookbook/networking/fetch-
data/上的教程进行操作

但我收到以下错误。

无效的参数:隔离消息中的参数非法:(对象是闭包-函数’createDataList’:。)

这是我的代码

Future<List<DataModel>> fetchData() async{

    final response = await http.get("https://api.themoviedb.org/3/movie/now_playing?api_key=d81172160acd9daaf6e477f2b306e423&language=en-US");



    if(response.statusCode == 200){



      return compute(createDataList,response.body.toString());

    }

  }



  List<DataModel> createDataList(String responFroJson) {

    final parse  = json.decode(responFroJson).cast<Map<String,dynamic>>();



    return parse.map<DataModel> ((json) => DataModel.fromtJson(json)).toList();

  }

错误消息的屏幕截图

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。