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: ...
Umeionaje Makala hii.. ?
Share On:
Leo tutajifunza kuhusu majani ya kunde — mboga za kijani zinazotokana na mmea wa kunde (beans). Wengi hula mbegu za kunde pekee, wakisahau kuwa hata majani yake yana virutubisho vya thamani kubwa kwa mwili. Tutazungumzia vitamini, madini, na faida mbalimbali za kiafya zinazopatikana katika majani haya.
Soma Zaidi...Katika somo hili tutatkwenda kuziona baadhi ya xyntax yaani kanunu za uandishi wa code za dart.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu concept ya polymorphism.
Soma Zaidi...Katika somo hili utakwenda kujfunza kuhusu String method zinazotumika kwenye Dart.
Soma Zaidi...Katika somo hii utakwenda kujifunza kuhusu concept mixin na jinsi inavyoweza kutumika kwenye Dart.
Soma Zaidi...Katika somo hili tutakwenda kujifunza kuhusu method ambazo hutumika kwenye map data type
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu concept ya generics ili kuweza kufanya kazi na aina mbalimbali za data kwenye class.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu abstract class na abstract method kwenye Dart.
Soma Zaidi...Katika soo hili utakwenda kujifunza kuhusu reserved keywords katika Dart
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu break na continue kwenye Dart loop za for loop na while loop.
Soma Zaidi...