Flutter之数据请求

2019-10-06  本文已影响0人  IsYang

目录


1. 异步操作Future

Future与JavaScript中的Promise非常相似,表示一个异步操作的成功或失败。

// catchError中捕获错误
Future.delayed(new Duration(seconds: 2),(){
   //return "hi world!";
   throw AssertionError("Error");  
}).then((data){
   //执行成功会走到这里  
   print("success");
}).catchError((e){
   //执行失败会走到这里  
   print(e);
});

// onError中捕获错误
Future.delayed(new Duration(seconds: 2), () {
    //return "hi world!";
    throw AssertionError("Error");
}).then((data) {
    print("success");
}, onError: (e) {
    print(e);
});

Future.delayed(new Duration(seconds: 2),(){
   //return "hi world!";
   throw AssertionError("Error");
}).then((data){
   //执行成功会走到这里 
   print(data);
}).catchError((e){
   //执行失败会走到这里   
   print(e);
}).whenComplete((){
   //无论成功或失败都会走到这里
});
Future.wait([
  // 2秒后返回结果  
  Future.delayed(new Duration(seconds: 2), () {
    return "hello";
  }),
  // 4秒后返回结果  
  Future.delayed(new Duration(seconds: 4), () {
    return " world";
  })
]).then((results){
  print(results[0]+results[1]);
}).catchError((e){
  print(e);
});

2.Async/await

Dart中的async/await 和JavaScript中的async/await功能和用法是一模一样的。


3. Dio引用和简单的Get 请求

dependencies
    dio: 2.1.x 
  import 'package:dio/dio.dart';

4. 组件-SingleChildScrollView

当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。

属性包括:


5. 组件-ListBody

ListBody的作用是按给定的轴方向,按照顺序排列子节点, 一般都会配合ListView或者Column等控件使用

属性包括:

上一篇 下一篇

猜你喜欢

热点阅读