How can I fix "Future isn't a type" error in flutter?

8,525

Solution 1

I saw this problem last week. Here is what you can do, moving in that order if not fixed:

  1. Make sure you have the dart:async import

  2. Make sure your project level sdk is set correctly

File -> Project Structure In Project, select valid Project SDK. In Modules -> myapp_android -> Dependencies, select a valid Module SDK.

  1. Update the SDK version in your pubspec.yaml

  2. Flush your cache and restart Android Studio.

File -> Invalidate Caches/Restart and select "Invalidate Caches and Restart"

Solution 2

Faced this problem yesterday. Tried a couple of suggestions for fixing this error and today it worked by doing the following:

  1. Update your SDK version in your pubspec.yaml to at least 2.7.0 (Before that my sdk version was 2.2.0 and I think that caused the error. At least 2.7.0 worked for me).

    environment:
      sdk: ">=2.7.0 <3.0.0"
    
  2. Run flutter clean

  3. Go to File -> Invalidate Caches/Restart and select "Invalidate Caches and Restart"

Solution 3

If you are running macOS, open Activity Monitor and terminate Dart (quite sure that it take up ~90% CPU). This disables the dart:async library and makes the fan run freaking loud

Solution 4

If you have recently upgraded flutter maybe that is causing an issue.

I too faced it once after an upgrade, however a simple IDE restart solved the issue for me. Maybe you can try that.

You can have a look at this thread that I found here.

Do let me know if it solves the issue.

Solution 5

In my case I was missing a function name, and it gave error in many positions in many files. For example, instead of:

Future<bool> myFunction (int parm1)

accidentally deleted the function name, so the result was:

Future<bool> (int parm1)

This gave problem in many files of the project, giving the error "Future isn't a type". In the errors list, there was also the error of the missing function name, so correcting that one all other errors disappeared.

Share:
8,525
Ayush Nanglia
Author by

Ayush Nanglia

Updated on December 25, 2022

Comments

  • Ayush Nanglia
    Ayush Nanglia over 1 year

    I'm trying to store app data of my flutter application in the database, but the complier keeps showing "Future isn't a type" for async func and underlines in red. I've tried removing .analysis-driver as well, but that doesn't help. How can I fix it ?

    Code:

    import 'package:sqflite/sqflite.dart';
    import 'package:path_provider/path_provider.dart';
    import 'package:path/path.dart';
    import 'dart:io';
    
    class Db_Help{
    
      static final _db_name="Work_tasks.db";
      static final _db_version=1;
      static final table="Work Table";
    
      static final task_id="ID";
      static final task="Task";
      static final bool_check="Value";
    
      static Database _database;
    
      Db_Help._private_cons();
      static final Db_Help instance=Db_Help._private_cons();
    
      _initDatabase() async{
        Directory docu_dir=await getApplicationDocumentsDirectory();
        String path=join(docu_dir.path,_db_name);
    
        return await openDatabase(path, version: _db_version, onCreate: _onCreate);
      }
    
      Future<Database> get database async{
    
        if(_database!=null)
          return _database;
    
        _database=await _initDatabase();
        return _database;
    
      }
    
      Future _onCreate(Database db, int version) async{
        await db.execute('''
        CREATE TABLE $table (
        $task_id INTEGER PRIMARY KEY,
        $task TEXT NOT NULL,
        $bool_check INTEGER)
        ''');
      }
    
      Future<int> insert(Map<String,dynamic> row) async{
        Database db= await instance.database;
        return await db.insert(table, row);
      }
    
     }
    

    EDIT: [RESOLVED]

  • Ayush Nanglia
    Ayush Nanglia over 3 years
    I tried restarting the IDE a couple of times but that didn't work, and as per the thread you've linked, re-installing might resolve the issue but that's the last thing to do, so I'm trying not to re-install.
  • Ayush Nanglia
    Ayush Nanglia over 3 years
    I tried that a couple of times, didn't work for me :/
  • Ayush Nanglia
    Ayush Nanglia over 3 years
    I actually started it all over now 😅 I'll let you know when I face the same problem again. Thanks for your concern
  • Mamrezo
    Mamrezo almost 3 years
    My SDK version was like that, but executing flutter clean and flutter pub get solves that!