美文网首页
21.Dart异步Future简单使用

21.Dart异步Future简单使用

作者: 凯司机 | 来源:发表于2020-06-07 06:43 被阅读0次

import 'dart:io';

main(List<String> args) {

  // sleep是阻塞式的耗时操作

  print("开始");

  var futurn = getNetworkData();

  print(futurn);

  print("结束");

  futurn.then((String string){

    print(string);

  }).catchError((error){

    print(error);

    print('执行错误请求${error}++++++++++++');

  }).whenComplete((){

    print("全部执行结束...");

  });

}

// 模拟一个网络请求

// Future不会阻塞主线程

Future<String> getNetworkData() {

  return Future((){

    sleep(Duration(seconds: 5));

    print('KSJKSL1');

    //  throw Exception(

    //    "我是错误信息"

    //  );

    return "KSJKSL2";

  });

}

/**

* 1.将耗时的操作包裹到Future的回调函数中

* 2.只要有返回结果,那么就执行Future对应的then的回调

* 3.如果没有结果返回或者返回结果是错误的,需要返回一个异常

*/

相关文章

网友评论

      本文标题:21.Dart异步Future简单使用

      本文链接:https://www.haomeiwen.com/subject/gjuqtktx.html