Page 1 of 1

Flutter erhält beim Erweitern von BrowserHttpClientAdapter in dio einen nicht erfassten TypeError

Posted: 19 Jan 2025, 18:42
by Guest
Ich verwende einen benutzerdefinierten Adapter, wenn ich Dio instanziiere. Aber wenn ich meine App in Chrome ausführe, sehe ich einen Fehler in der Konsole und es wird nichts angezeigt.
Hier ist der vollständige Code:

Code: Select all

import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:dio/browser.dart';

class CustomBrowserHttpClientAdapter extends BrowserHttpClientAdapter {
CustomBrowserHttpClientAdapter() {
withCredentials = true;
}
}

void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
}

class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final Dio dio = Dio()..httpClientAdapter = CustomBrowserHttpClientAdapter();

return Scaffold(
appBar: AppBar(title: Text('Dio with Custom Adapter')),
body: Center(
child: ElevatedButton(
onPressed: () async {
try {
final response = await dio.get('https://example.com');
print(response.data);
} catch (e) {
print('Error: $e');
}
},
child: Text('Make Request'),
),
),
);
}
}
Hier ist die Konsolenausgabe:

Code: Select all

Uncaught TypeError: Class extends value undefined is not a constructor or null
at load__packages__didgah__main_test_dart (main_test.dart.lib.js:128:13)
at Object.execCb (require.js:1696:33)
at Module.check (require.js:883:51)
at Module. (require.js:1139:34)
at require.js:134:23
at require.js:1189:21
at each (require.js:59:31)
at Module.emit (require.js:1188:17)
at Module.check (require.js:938:30)
at Module. (require.js:1139:34)
at require.js:134:23
at require.js:1189:21
at each (require.js:59:31)
at Module.emit (require.js:1188:17)
at Module.check (require.js:938:30)
at Module. (require.js:1139:34)
at require.js:134:23
at require.js:1189:21
at each (require.js:59:31)
at Module.emit (require.js:1188:17)
at Module.check (require.js:938:30)
at Module. (require.js:1139:34)
at require.js:134:23
at require.js:1189:21
at each (require.js:59:31)
at Module.emit (require.js:1188:17)
at Module.check (require.js:938:30)
at Module. (require.js:1139:34)
at require.js:134:23
at require.js:1189:21
at each (require.js:59:31)
at Module.emit (require.js:1188:17)
at Module.check (require.js:938:30)
at Module. (require.js:1139:34)
at require.js:134:23
at require.js:1189:21
at each (require.js:59:31)
at Module.emit (require.js:1188:17)
at Module.check (require.js:938:30)
at Module. (require.js:1139:34)
at require.js:134:23
at require.js:1189:21
at each (require.js:59:31)
at Module.emit (require.js:1188:17)
at Module.check (require.js:938:30)
at Module.enable (require.js:1176:22)
at Module.init (require.js:788:26)
at callGetModule (require.js:1203:63)
at Object.completeLoad (require.js:1590:21)
at HTMLScriptElement.onScriptLoad (require.js:1717:29)```