3

Flutter の http リクエストに Chopper を使用していますが、私の知る限り、Chopper クライアントを作成するには 2 つの方法があります。1 つは、その配列にサービスを追加してから公開することです。

// my_chopper_client.dart

  static ChopperClient getClient() {
    final chopper = ChopperClient(
      baseUrl: "https://example.com/",
      services: [
        ServiceOne.create(),
        ServiceTwo.create(),
        ServiceThree.create()
      ],
      converter: JsonConverter()
    );

    return chopper;
  }

// Some other file.dart

    void login() {
      ChopperClient client = MyChopperClient.getClient();
      var serviceTwo = client.getService<ServiceTwo>();
      var resp = await serviceTwo({"email": "example@mail.io", "password": "123"});
      print(resp.body);
    }

もう 1 つは、サービスごとに Chopper クライアントの新しいインスタンスを作成することです。

// service_two.dart

  static ServiceTwo create() {
    final client = ChopperClient(
      services: [
        _$ServiceTwo(),
      ],
      converter: JsonConverter(),
    );
    
    return _$ServiceTwo(client);
  }

// some other file.dart

  void login() async {
    var serviceTwo = ServiceTwo.create();
    var resp = await serviceTwo.login({"email": "example@mail.io", "password": "123"});
    print(resp.body);
  }

私の質問は次のとおりです。最高のパフォーマンスを得るには、どちらの方法が良いですか? 配列アプローチはより多くのメモリを使用する可能性があるようです。前もって感謝します!

4

0 に答える 0