Junior — Middle
Дар Flutter, компонентҳои StreamBuilder ва Future дар кор бо маълумоти асинхронӣ чӣ фарқ доранд?
sobes.tech AI
Ҷавоб аз AI
Дар Flutter, FutureBuilder ва StreamBuilder барои кор бо маълумоти асинхронӣ истифода мешаванд, аммо дар навъҳои манбаи маълумот фарқ мекунанд:
-
FutureBuilder бо объекти
Futureкор мекунад — ин як амалиёти асинхронӣ яккарата аст, ки натиҷа ё хато меорад. Масалан, боркунии маълумот аз сервер. -
StreamBuilder бо
Streamкор мекунад — ин як ҷараёни маълумот аст, ки метавонад дар вақти муайян чандин ҳодиса барорад. Масалан, навсозии маълумот дар вақти воқеӣ ё ҳодисаҳои воридоти корбар.
Маслиҳати истифодаи FutureBuilder:
FutureBuilder<String>(
future: fetchData(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Хатогӣ: \\${snapshot.error}');
} else {
return Text('Маълумот: \\${snapshot.data}');
}
},
)
Маслиҳати истифодаи StreamBuilder:
StreamBuilder<int>(
stream: counterStream(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
return Text('Ҳисобкунак: \\${snapshot.data}');
},
)
Аз ин рӯ, барои амалиёти яккарата FutureBuilder-ро интихоб кунед ва барои маълумоти ҷараёнӣ StreamBuilder-ро.