Junior — Middle
Flutter-də asinxron məlumatlarla işləyərkən StreamBuilder və Future komponentləri arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Flutter-də FutureBuilder və StreamBuilder asinxron məlumatlarla işləmək üçün istifadə olunur, lakin onlar məlumat mənbəyinin növünə görə fərqlənir:
-
FutureBuilder
Futureobyektilə işləyir — bu, bir dəfəlik asinxron əməliyyatdır və nəticə və ya xəta ilə geri dönür. Məsələn, serverdən məlumat yükləmək. -
StreamBuilder
Streamilə işləyir — bu, zamanla çoxsaylı hadisələr çıxara bilən məlumat axınıdır. Məsələn, real vaxt məlumat yeniləmələri və ya istifadəçi giriş hadisələri.
FutureBuilder istifadə nümunəsi:
FutureBuilder<String>(
future: fetchData(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Xəta: \\${snapshot.error}');
} else {
return Text('Məlumatlar: \\${snapshot.data}');
}
},
)
StreamBuilder istifadə nümunəsi:
StreamBuilder<int>(
stream: counterStream(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
return Text('Sayğac: \\${snapshot.data}');
},
)
Buna görə də, tək seferlik əməliyyatlar üçün FutureBuilder, axın məlumatları üçün isə StreamBuilder seçin.