Repository navigation
The method 'then' isn't defined for the class 'FutureOr<dynamic>' #176
Description
Activity
I am facing the same error.
../../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/mp_chart-0.2.2/lib/mp/core/utils/painter_utils.dart:15:34: Error: The getter 'text' isn't defined for the class 'InlineSpan'. - 'InlineSpan' is from 'package:flutter/src/painting/inline_span.dart' ('../../../snap/flutter/common/flutter/packages/flutter/lib/src/painting/inline_span.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'text'. var preText = painter.text.text; ^^^^ ../../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/mp_chart-0.2.2/lib/mp/chart/chart.dart:51:12: Error: The method 'then' isn't defined for the class 'FutureOr<dynamic>'. Try correcting the name to the name of an existing method, or defining a method named 'then'. .then((value) { ^^^^ FAILURE: Build failed with an exception. * Where: Script '/home/bmabir/snap/flutter/common/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1035 * What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'. > Process 'command '/home/bmabir/snap/flutter/common/flutter/bin/flutter'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 25sflutter doctor -v output
[✓] Flutter (Channel stable, 2.2.1, on Linux, locale en_US.UTF-8) • Flutter version 2.2.1 at /home/bmabir/snap/flutter/common/flutter • Framework revision 02c026b03c (5 months ago), 2021-05-27 12:24:44 -0700 • Engine revision 0fdb562ac8 • Dart version 2.13.1 [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3) • Android SDK at /home/bmabir/Android • Platform android-30, build-tools 29.0.3 • Java binary at: /usr/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10) • All Android licenses accepted. [✓] Chrome - develop for the web • Chrome at google-chrome [!] Android Studio (not installed) • Android Studio not found; download from https://developer.android.com/studio/index.html (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions). [✓] VS Code (version 1.61.1) • VS Code at /usr/share/code • Flutter extension version 3.27.0 [✓] Connected device (2 available) • Mi A2 Lite (mobile) • 28d9cc140205 • android-arm64 • Android 10 (API 29) • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.8And my pubspec.yaml
environment: sdk: ">=2.7.0 <3.0.0" flutter: 1.17.5 dependencies: flutter: sdk: flutter rxdart: ^0.23.0 flutter_bloc: ^5.0.1 provider: ^4.3.1 fluttertoast: ^7.0.1 math_expressions: ^2.0.0 moor_flutter: ^3.1.0 sqlite3_flutter_libs: ^0.5.0 path_provider: ^1.6.11 path: ^1.6.4 table_calendar: ^2.2.3 intl: ^0.16.1 percent_indicator: ^2.1.5 date_range_picker: ^1.0.5 mp_chart: ^0.2.2 shared_preferences: 0.5.8 csv: ^4.0.3 moor_generator: ^3.2.0 build_runner: ^1.10.0 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.3#155 (comment) this solution solves the following error temporarily.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'text'. var preText = painter.text.text; ^^^^But the other one remains
Try correcting the name to the name of an existing method, or defining a method named 'then'. .then((value) { ^^^^@bmabir17 this seems to solve the other error for me.
_screenshotController .capture(path: path, pixelRatio: 3.0) .then((imgFile) async { await ImageGallerySaver.saveImage( Uint8List.fromList(imgFile.readAsBytesSync())); imgFile.delete(); isCapturing = false; }).catchError((error) { isCapturing = false; });same issue on flutter 2.8.1
This appears to be the result of a change with the
image_gallery_saverlibrary and its change ofImageGallerySaver.saveImagenow returning aFutureOrinstead of aFuture. If you don't want to deal with editing the pub cache (a PR would be great for the project), you can add to your pubspec.yaml file the following:mp_chart: ^0.3.1 image_gallery_saver: <1.7.1Didn't play around with the versioning too much, but the above seems to get the latest "compatible" versions.
Still have to fix the cast to
painter.texttoTextSpan, so not sure what this buys you.
Try correcting the name to the name of an existing method, or defining a method named 'then'.
.then((value) {
^^^^
/C:/flutter/.pub-cache/hosted/pub.dartlang.org/mp_chart-0.3.1/lib/mp/core/utils/painter_utils.dart:15:34: Error: The getter 'text' isn't defined for the class 'InlineSpan'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'text'.
var preText = painter.text.text;