我被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<String> 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());
  });
}

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 异步编程对JavaScript语言太重要。Javascript语言的执行环境是“单线程”的,如果没有异步编程,根本...
    呼呼哥阅读 7,394评论 5 22
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,144评论 8 265
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,350评论 4 16
  • 大叔路人甲出生于普通人家.平凡得如公交站台上任何一个匆匆等车的乘客,没有人知道他叫什么名字,他从哪里来,到哪里去...
    滚爷阅读 343评论 0 0
  • “许!涵!雪!”老妈又在发动她的独门秘籍,失传多年的“狮吼功”了。 “哇!”我吓的直接立了起来,昨天晚上被我妈折腾...
    丫丫mo阅读 342评论 0 1

友情链接更多精彩内容