我被flutter逼疯了

确切的说是被await逼疯了

我写了个从url获取一个json的返回。用了dio.get这个函数,然后调用这个函数需要await,然后因为用了await,函数外面又要加async。而要调用这个函数,因为加了async,又要加await,因为加了await又要定义时外面加async,然后就无穷无尽了……,天那
如果我想测试这个getLiveLIst函数:

class XXX{

final url="http://XXX";

getLiveList() async{
        Dio dio = new Dio();
        Response response=await dio.get(url);
        return response.data;

}

然后我在test文件夹下写了测试:

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() {
  test('test get json', () {
   print( new XXX().getJson());
  });
}

当然,因为getJson加了async,print的结果是Instance of 'Future'
但是我想print json啊,怎么办,难道是:

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() {
  test('test get json', () {
   print( await new XXX().getJson());
  });
}

当然了,它会报错,那我只能再加async

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() {
  test('test get json', () async {
   print( await new XXX().getJson());
  });
}

当然了它会报错,因为有了async,所以要给test前面加 await,当然了它会报错,因为有了await,我需要给main函数加async.

import 'package:test/test.dart';
import 'package:XXX/XXX.dart';
void main() async{
  await test('test get json', () async {
   print( await new XXX().getJson());
  });
}

当然了,它会报错,然后我疯了

你可能感兴趣的:(我被flutter逼疯了)