flutter 中的Future方法读取踩的小坑


flutter dart 语法中 Future其实和js中的Promse 原理是一样的  Future 声明的函数都是异步函数  

void testThen1() {
  Future f1 = new Future(() => null);
  Future f2 = new Future(() => null);
  Future f3 = new Future(() => null);

  f1.then((_) => print("f1 -> f1"));
  // f2 then 异步回调里面还有异步回调
  f2.then((_) {
    print("f2 -> f2");
    f1.then((_) => print("f2.then -> f1"));
  });
  f3.then((_) => print("f3 -> f3"));
}

//打印结果
f1 -> f1
f2 -> f2
f2.then -> f1
f3 -> f3

 

 

当遇到Future声明的函数时候 想要获取其return 返回值  必须也用异步的方法 否则只能读取外层的Future

Future<bool> demo() async{
    await return true;
}

//用异步的方法读取
demoRead() async{
 await demo();//打印true
}

//或者用then 的方法去接受 获取
demo.then((e) {
    print("e");
    
  });

  

 

 dart 的语法还是多看看官方的解释


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM