Google News
logo
Flutter - Interview Questions
What is an async function in Dart and how is it used in Flutter?
In Dart, an asynchronous function is a function that can be suspended while waiting for an asynchronous operation to complete, such as reading data from a file or making a network request. An asynchronous function is marked with the `async` keyword, and it typically returns a `Future` object, which represents the result of the asynchronous operation.

In Flutter, asynchronous functions are commonly used to perform time-consuming tasks, such as loading data from a network or parsing data from a file, without blocking the main thread and causing the app to freeze.

Here's an example of an asynchronous function in Dart that simulates a network request by returning a `Future` object that resolves to a string after a delay of 2 seconds:
Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2)); // Simulate a network request delay
  return 'Data loaded successfully';
}​

 

In this example, the `fetchData()` function is marked with the `async` keyword, and it returns a `Future<String>` object. The `await` keyword is used to suspend the function while waiting for the `Future.delayed()` method to complete. Once the delay is over, the function returns a string that says "Data loaded successfully".

In Flutter, you can use asynchronous functions in combination with widgets like `FutureBuilder` and `StreamBuilder` to update the UI when asynchronous operations complete. For example, you could use the `FutureBuilder` widget to display a loading indicator while waiting for data to be fetched from a network, and then display the fetched data when it becomes available.
Advertisement