日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Flutter 网络请求库http

發布時間:2023/11/27 生活经验 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flutter 网络请求库http 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http

集成http庫

https://pub.dartlang.org/packages/http
添加依賴
dependencies:http: ^0.12.0
安裝
flutter packages get
導入
import 'package:http/http.dart' as http;

常用方法

get(dynamic url, { Map<String, String> headers }) → Future<Response>
  • (必須)url:請求地址
  • (可選)headers:請求頭
post(dynamic url, { Map<String, String> headers, dynamic body, Encoding encoding }) → Future<Response>
  • (必須)url:請求地址
  • (可選)headers:請求頭
  • (可選)body:參數
  • (編碼)Encoding:編碼 例子
http.post('https://flutter-cn.firebaseio.com/products.json',body: json.encode(param),encoding: Utf8Codec()).then((http.Response response) {final Map<String, dynamic> responseData = json.decode(response.body);//處理響應數據
     }).catchError((error) {print('$error錯誤');});

返回值都用到Dart Futures, 類似JavaScript中的promise 官方推薦使用async/await來調用網絡請求

  void addProduct(Product product) async {Map<String, dynamic> param = {'title': product.title,'description': product.description,'price': product.price};try {final http.Response response = await http.post('https://flutter-cn.firebaseio.com/products.json',body: json.encode(param),encoding: Utf8Codec());final Map<String, dynamic> responseData = json.decode(response.body);print('$responseData 數據');} catch (error) {print('$error錯誤');}}

用?try catch來捕獲錯誤 兩種寫法都可以,個人覺得第二種語法思路更明確.

?

?

轉載于:https://www.cnblogs.com/zhujiabin/p/10333253.html

總結

以上是生活随笔為你收集整理的Flutter 网络请求库http的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。