Future函数使用

2021-12-01  本文已影响0人  Jean_Lina
  void test() {
    Future.value('hello world').then((value) => print('value1 = $value'));

    Future.error('这是一个错误信息').then((value) => print('value2 = $value'));

    Future.delayed(Duration(seconds: 2), () {
      return '延迟网路请求';
    }).then((value) => print('value3 = $value'));
  }
 void test0() {
    print('网路请求开始');
    final result = getNetWorkData1('jack');
    result.then((value) {
      print('第一次网路请求结果:$value');
      return getNetWorkData1('lucy');
    }).then((value) {
      print('第二次网路请求结果:$value');
      return getNetWorkData1('lily');
    }).then((value) {
      print('第三次网路请求结果:$value');
      return getNetWorkData1('tom');
    }).then((value) {
      print('第四次网路请求结果:$value');
    }).whenComplete(() {
      print('网路请求完成');
    });
    print('网路请求end');
  }
 Future<void> test1() async {
    print('网路请求开始');
    final result1 = await getNetWorkData1('jack');
    print('第一次网路请求结果:$result1');
    final result2 = await getNetWorkData1(result1);
    print('第二次网路请求结果:$result2');
    final result3 = await getNetWorkData1(result2);
    print('第三次网路请求结果:$result3');
    print('网路请求end');
  }
Future getNetWorkData1(String argus) {
    return Future(() {
      sleep(Duration(seconds: 2));
      //throw Exception('抛出异常信息');
      return 'data $argus';
    });
  }
上一篇 下一篇

猜你喜欢

热点阅读