Junior — Middle
Čime se razlikuju komponente StreamBuilder i Future pri radu sa asinhronim podacima u Flutteru?
sobes.tech АИ
Одговор од АИ
U Flutter-u, FutureBuilder i StreamBuilder se koriste za rad sa asinhronim podacima, ali se razlikuju po tipu izvora podataka:
-
FutureBuilder radi sa objektom
Future— to je jednokratna asinhrona operacija koja vraća rezultat ili grešku. Na primer, učitavanje podataka sa servera. -
StreamBuilder radi sa
Stream— to je tok podataka koji može emitovati više događaja tokom vremena. Na primer, ažuriranja podataka u realnom vremenu ili događaji korisničkog unosa.
Primer korišćenja FutureBuilder:
FutureBuilder<String>(
future: fetchData(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Greška: \\${snapshot.error}');
} else {
return Text('Podaci: \\${snapshot.data}');
}
},
)
Primer korišćenja StreamBuilder:
StreamBuilder<int>(
stream: counterStream(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
return Text('Brojač: \\${snapshot.data}');
},
)
Dakle, izaberite FutureBuilder za jednokratne operacije i StreamBuilder za tokove podataka.