DART somo la 43: Stream kwenye Dart
Katika somo hili utakwenda ujifunz akuhusu concept ya stream kwenye Dart. pia ttaona kwa namna gani strean inaweza kutofautiana na future wakati zote mbili zipo kwenye asychronous programming.
Stream ni mfululizo wa asynchronous operations (events) yaani matukio ya asyncchronous ambayo huwasilisha malue nyingi ambazo hupatikanwa katika wakati ujao. Utafauti mkubwa wa future ni kuwa kwenye future class tunasumngumza operation moja kama tulivyoona huko nyuma, lakini ukija kwenye stream unazungumzia operationa zaidi ya moja ni sawa na iliteration kwenye synchronous operation.
Jinsi ya kutengeneza stream class
Kutengeneza stream class kuna mfanano sawa na future. Utaanza na keyword stream ikifuatiwa na aina ya data kama tulivyoona kwenye stream ikifuatiwa na function, ikifutaiwa na keyword async itafuatiwa na body of function. Sasa kwenye async utaongeza alama ya nyita (*).
Stream<String> tovuti() async* {
await Future.delayed(Duration(seconds: 1));
yield 'bongoclass';
await Future.delayed(Duration(seconds: 1));
yield 'facebook';
await Future.delayed(Duration(seconds: 1));
yield 'Google';
}
// main function
void main() async {
// you can use await for loop to get the value from stream
await for (String jina in tovuti()) {
print(jina);
}
}
Pia tunaweza kutumia keyword yield ili kuweza kufanya iliteration. Angalia mfano hapo chini:
Stream<int> countForOneMinute() async* {
for (int i = 1; i <= 5; i++) {
await Future.delayed(const Duration(seconds: 1));
yield i;
}
} main() async {
await for (int i in countForOneMinute()) {
print(i);
}
}
Pia tunaweza kutumia yield* kwenye stream ama recrucive function, rejea kwenye somo a function kujuwa maana ya recrucive function
Stream<int> str(int n) async* {
if (n > 0) {
await Future.delayed(Duration(seconds: 2));
yield n;
yield* str(n - 2);
}
}
void main() {
str(10).f...
Umeionaje Makala hii.. ?
Share On:
👉1 Sira ya Mtume Muhammad (s.a.w) 👉2 Bongolite - Game zone - Play free game 👉3 Kitau cha Fiqh 👉4 Simulizi za Hadithi Audio 👉5 Kitabu cha Afya 👉6 web hosting
Post zinazofanana:
DART somo la 32: Inheritance kwenye construct method:
Katika masomo yaliopita tumesha jifunza jinsi inheritance inavyokuwa, ila hatujaona kwa namna gani utaweza ku inherit constructor method. Somo hili litashughulika na swla hilo.
Soma Zaidi...DART somo la 3: Aina za Data
Katika somo hili utakwenda kujifunza aina za data zinazotumika kwenye Dart.
Soma Zaidi...DART SOMO LA 16: String method zinazotumika kwneye Dart
Katika somo hili utakwenda kujfunza kuhusu String method zinazotumika kwenye Dart.
Soma Zaidi...DART somo la 39: mixin kwenye dart
Katika somo hii utakwenda kujifunza kuhusu concept mixin na jinsi inavyoweza kutumika kwenye Dart.
Soma Zaidi...DART somo la 22: Jinsi ya kutumia html library kwenye Dart
Katika somo hili tutakwenda kujifunz ajinsi ya kutumia library ya html kwenye Dart. somo hili litakupeleka kujifunza jinsi ya ku display dart output kwenye faili la html.
Soma Zaidi...DART somo la 45: Jinai ys kutuma mysql database
Katika somo hili utakwenda kujifunza jinsi ya kutumia database ya mysql kwenye Dart. hakikisha umeelewa vyema na kutekeleza yalioelekezwa kutoka kwenye somo lililopita.
Soma Zaidi...