Useful Links
Computer Science
Programming
By Language
Dart Programming Language
1. Introduction to Dart
2. Dart Language Fundamentals
3. Functions
4. Object-Oriented Programming (OOP) in Dart
5. Collections
6. Asynchronous Programming
7. Error Handling and Exceptions
8. Dart Tooling and Ecosystem
9. Advanced Topics
Asynchronous Programming
Concurrency in Dart
Single-Threaded Model
The Event Loop
Event Queue
Microtask Queue
Task Scheduling
Non-Blocking Operations
Futures
Understanding `Future` Objects
Creating Futures
`Future.value`
`Future.error`
`Future.delayed`
`Completer` Class
Future States
Uncompleted
Completed with Value
Completed with Error
Handling Futures with `.then()`
Handling Errors with `.catchError()`
The `.whenComplete()` Method
Chaining Futures
Future Combinators
`Future.wait`
`Future.any`
`async` and `await`
Defining `async` Functions
Using `await` to Get Future Results
Error Handling with `try-catch` in `async` Functions
Returning Values from `async` Functions
Sequential vs Parallel Execution
Best Practices
Streams
Concept of Streams
Stream Types
Single-Subscription Streams
Broadcast Streams
Subscribing to a Stream (`listen`)
Stream Events
Data Events
Error Events
Done Events
Creating Streams
`StreamController`
`Stream.fromIterable`
`Stream.periodic`
Generating Streams with `async*` and `yield`
Consuming Streams with `await for`
Stream Transformation and Manipulation
`map`
`where`
`expand`
`take`
`skip`
Stream Subscription Management
Backpressure Handling
Isolates
Concept of Isolates
True Parallelism in Dart
Spawning an Isolate
`Isolate.spawn`
`compute` Function
Communication Between Isolates
Send Ports
Receive Ports
Message Passing
Isolate Lifecycle
Use Cases for Isolates
CPU-Intensive Tasks
Background Processing
Isolate Groups
Previous
5. Collections
Go to top
Next
7. Error Handling and Exceptions