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 的语法还是多看看官方的解释