Futures and Streams

This example demonstrates the use of Futures and Streams for asynchronous programming.

import 'dart:async';

void main() {
  // Using a Future
  print('Fetching data...');
  fetchData().then((data) {
    print('Data received: $data');
  });

  // Using a Stream
  var numberStream = generateNumbers();
  numberStream.listen((number) {
    print('Received number: $number');
  });
}

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  return 'Sample Data';
}

Stream<int> generateNumbers() async* {
  for (var i = 1; i <= 5; i++) {
    await Future.delayed(Duration(seconds: 1));
    yield i;
  }
}

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *