使用Dart的'compute'在后台解析json

问题描述 投票:0回答:1

我正在尝试使用'compute'方法来使用Json,因为我正在研究加速应用程序的方法。 https://api.flutter.dev/flutter/foundation/compute.html

我没有提到安装软件包和用例,没有提到任何特定的导入。 https://dev.to/fallenstedt/compute-with-flutter-3p6ohttps://github.com/flutter/flutter/issues/16265Flutter- compute method

错误消息:

Compiler message:
lib/account_control.dart:34:26: Error: Method not found: 'compute'.
      parsedJson = await compute(jsonDecode, response.body);

我称之为计算的地方

if (response.statusCode == 200) {
  parsedJson = await compute(jsonDecode, response.body);
  Globals.data = parsedJson;
  print("Succesfully set Globals.data");
  return true;
}

类实现


    class AccountControl {
      static dynamic getAccDetails() async {
        var token = Globals.token;

        Globals.tokenDecode = Globals.parseJwt(Globals.token);
        Globals.accountId = Globals.tokenDecode["accountId"].toString();
        Globals.appUserId = Globals.tokenDecode["appUserId"].toString();
        Globals.partitionId = 0;

        var baseUrl = Globals.baseUrl; //platform server
        var accountId = Globals.accountId;
        var host = Globals.host;
        var accDetailsUri =
            Uri.encodeFull(baseUrl + "t/rest/cp/v1.0/account/" + accountId);

        print(accDetailsUri);

        Map<String, String> headers = {
          'Accept': 'application/json',
          'Authorization': 'Bearer ' + token,
          'Cache-Control': 'no-cache',
          'Host': host
        };

        var response = await http.get(accDetailsUri, headers: headers);

        var parsedJson;

        if (response.statusCode == 200) {
          parsedJson = await compute(jsonDecode, response.body);
          Globals.data = parsedJson;
          print("Succesfully set Globals.data");
          return true;
        }
      }
    } 

任何反馈表示赞赏

json flutter decode dart-isolates
1个回答
0
投票

您需要导入foundation

import 'package:flutter/foundation.dart';
© www.soinside.com 2019 - 2024. All rights reserved.