Flutter 异步 网络

198 阅读1分钟

dev

dio 从这个网站去找

image.png

Pub get 获取

可选参数

The parameter 'parameters' can't have a value of 'null' because of its type, but the implicit default value is 'null'.

修复方式 2种

image.png

加个 ?

新版本拦截没有了 返回值

@required 不用加 @

封装网络请求

简单网络请求

封装一个类 封装成类方法。无需实例化

配置

class HttpConfig {
  static const String baseUrl = "http://123.207.32.32:8001/api";
  static const int timeout = 10000;
}

具体代码

import 'package:dio/dio.dart';
import 'package:favocate/core/services/config.dart';

class HttpRequest {
  static final BaseOptions options = BaseOptions(
    baseUrl: HttpConfig.baseUrl,
    connectTimeout: HttpConfig.timeout,
  );
  static final Dio dio = Dio(options);
  static Future request(String url) {
    //Future<Response<T>>
    Future response = dio.request(url);
    return response;
  }
}

使用

print("1111");
HttpRequest.request("/meal").then((value) => print(value));
print("2222");

image.png

image.png

添加泛型

await

使用then麻烦 还是awai封装一下吧

泛型