DART somo la 43: Stream kwenye Dart

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...

Ingia sasa ili uweze kusoma makala hii yote.

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

       
Author: Rajabu Rajabu
Tarehe: 2024-05-10 14:53:23 Topic: DART Main: Masomo File: Download PDF Views: 1045

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Kitau cha Fiqh     👉2 Kitabu cha Afya     👉3 Bongolite - Game zone - Play free game     👉4 web hosting     👉5 Simulizi za Hadithi Audio     👉6 kitabu cha Simulizi    

Post zinazofanana:

DART somo la 30 :Jinsi ya kutengeneza setter na geter kwenye OOP

Katika somo hili tutakwenda kujifunza zaidi kuhusu method za getter na setter. Tutakwenda kuona hasa zinavyotumika na zinavyotengenezwa.

Soma Zaidi...
DART somo la 9: for loop na for in loop kwenye dart, kazi zake na jinsi ya kuadika

Katika somo hli utakwend akujifunza kuhusu loop kwenye Dart. Loop zimegawanyika katika makundi mnne ambayo ni for loop, while loop, for in loop na do while loop.

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 23: Jinsi ya kusoma mafaili kwa kutumia Dart

Katika somo hili utakwenda kujifunza jinsi ya kusoma na kuandika faili kwa kutumia Dart programming.

Soma Zaidi...
DART somo la 34: Static variable kwenye Dart

Katika somo hili utakwenda kujifunza kuhusu static property na jinsi ambavyo inavyotumika.

Soma Zaidi...
DART somo la 27: DART OOP: maana ya constructor method na jinsi inavyotumika kwenye OOP

Katika somo hili utakwenda kujifunza jins ya kutengeneza constructor method, pia utajifunza matumizi yake kwenye OOP.

Soma Zaidi...