如何利用FutureBuilder提高開發效率

2022-09-20 20:54:06 字數 1226 閱讀 7086

常見場景

抽象模式

轉換成程式語言

以上三種現實情況對應 asyncsnapshot 三個狀態

使用 futurebuilder 處理這個場景

這篇文章的主角,futurebuilder 就是為了解決這個問題存在的。它接收乙個 future 請求,和對應以上幾種情況的 widget **。即可把資料和介面串聯起來,避免額外宣告僅用來傳遞資料用的變數。

提前宣告了乙個 _showresult 變數,以表示頁面是否觸發請求。

並且封裝了乙個 _fetch() 網路請求。

future _fetch() async

請求的結果是任意的,不管是封裝好的物件,map,list,都可以,只要是一www.cppcns.com個 future

把這個 future 呼叫安放到 futurebuilder 的 future 引數上, 並用 _showresult 來控制何時來觸發這個請求。

futurebuilder(

future: _showresult ? _fetch() : null,

...)

再把每乙個 future 的結果對應的 widget 設定到 build程式設計客棧er 引數上:

futurebuilder(

...builder: (context, sfymfhtknapshot) );

},child: text("start"),

);case connectionstate.waiting: // -------- 請求態

return circularprogressindicator();

case connectionstate.done: // -------- 完成態

if (snapshot.haserror) '程式設計客棧,

style: textstyle(color: colors.red),

);} else

br程式設計客棧eak;

default:

break;

} return container();

}, ),

總結futurebuilder 把資料請求的 future 中的資料 t 通過 builder 的 connectionstate 衍生出所有可能性,並在每個可能性裡 return 乙個 widgets。最終實現了 state -> ui 的目的

本文標題: 如何利用futurebuilder提高開發效率

本文位址:

如何利用typedef

用途一 定義一種型別的別名,而不只是簡單的巨集替換。可以用作同時宣告指標型的多個物件。比如 char pa,pb 這多數不符合我們的意圖,它只宣告了乙個指向字元變數的指標,和乙個字元變數 以下則可行 typedef char pchar 一般用大寫 pchar pa,pb 可行,同時宣告了兩個指向字...

如何利用wifi盈利

不能迴避的釣魚隱患 安全隱患是免費wifi應用無法迴避的挑戰。不久前,央視聯合金山毒霸安全工程師在多個場景實際測驗顯示,火車站 咖啡館等公共場所的一些免費wifi熱點均有可能就是釣魚陷阱,而家裡的路由器也可能被惡意攻擊者輕鬆攻破。網民在毫不知情的情況下,就可能面臨個人敏感資訊遭盜取,訪問釣魚 造成直...

如何利用Google進行招聘

12月19日 dakotta最近的一篇文章 google recruiting 101中間詳細地介紹了許多圍繞google產品 利用google工具進行的招聘方法。這裡簡單介紹幾個 google alerts 提示。可以設定自動google新聞提示,發現最新招聘動向,公司情況等等 google bl...